feat; added image for single episore
This commit is contained in:
parent
0904223664
commit
4cead58a0b
2 changed files with 17 additions and 3 deletions
|
@ -82,14 +82,14 @@ defmodule PodcastFeed.Provider.Archive.Parser do
|
||||||
defp items_data(files, identifier) do
|
defp items_data(files, identifier) do
|
||||||
files
|
files
|
||||||
|> filter_audio_files()
|
|> filter_audio_files()
|
||||||
|> Enum.map(fn f -> to_feed_item(f, identifier) end)
|
|> Enum.map(fn f -> to_feed_item(f, identifier, files) end)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp filter_audio_files(files) do
|
defp filter_audio_files(files) do
|
||||||
files |> Enum.filter(fn f -> Map.get(f, "format") =~ ~r/MP3|OGG/i end) #FIXME:! mp3, ogg, boh
|
files |> Enum.filter(fn f -> Map.get(f, "format") =~ ~r/MP3|OGG/i end) #FIXME:! mp3, ogg, boh
|
||||||
end
|
end
|
||||||
|
|
||||||
defp to_feed_item(file, identifier) do
|
defp to_feed_item(file, identifier, files) do
|
||||||
filename = Map.get(file, "name")
|
filename = Map.get(file, "name")
|
||||||
%{
|
%{
|
||||||
title: file["title"],
|
title: file["title"],
|
||||||
|
@ -99,9 +99,20 @@ defmodule PodcastFeed.Provider.Archive.Parser do
|
||||||
length: (file |> Map.get("length") |> Float.parse() |> elem(0)) |> trunc(),
|
length: (file |> Map.get("length") |> Float.parse() |> elem(0)) |> trunc(),
|
||||||
size: file |> Map.get("size"),
|
size: file |> Map.get("size"),
|
||||||
summary: "",
|
summary: "",
|
||||||
# image: "", #FIXME:! take the image from other files
|
image: Format.compile(@download_url, identifier: identifier, filename: fetch_image_of_audio(Map.get(file, "name"), files)),
|
||||||
keywords: file |> Map.take(["album", "artist", "genre"]) |> Map.values(),
|
keywords: file |> Map.take(["album", "artist", "genre"]) |> Map.values(),
|
||||||
explicit: "no",
|
explicit: "no",
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp fetch_image_of_audio(audio_file, files) do
|
||||||
|
files
|
||||||
|
|> Enum.filter(fn
|
||||||
|
%{"format" => format, "source" => "derivative", "original" => ^audio_file} ->
|
||||||
|
format =~ ~r/JPG|JPEG|PNG|GIF/i
|
||||||
|
_ -> nil
|
||||||
|
end)
|
||||||
|
|> List.first()
|
||||||
|
|> Map.get("name", nil)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -41,6 +41,9 @@
|
||||||
<itunes:summary><%= item.summary %></itunes:summary>
|
<itunes:summary><%= item.summary %></itunes:summary>
|
||||||
<itunes:keywords><![CDATA[<%= item.keywords |> Enum.join(", ") %>]]></itunes:keywords>
|
<itunes:keywords><![CDATA[<%= item.keywords |> Enum.join(", ") %>]]></itunes:keywords>
|
||||||
<itunes:explicit><%= item.explicit %></itunes:explicit>
|
<itunes:explicit><%= item.explicit %></itunes:explicit>
|
||||||
|
<%= if item.image != nil do %>
|
||||||
|
<itunes:image href="<%= item.image %>" />
|
||||||
|
<% end %>
|
||||||
</item>
|
</item>
|
||||||
<% end %>
|
<% end %>
|
||||||
</channel>
|
</channel>
|
||||||
|
|
Loading…
Reference in a new issue