Skip to content

Commit 0327be0

Browse files
committed
Add new fields to Youtube::Playlists class
1 parent d50b0f2 commit 0327be0

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

app/clients/youtube/playlists.rb

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
module Youtube
22
class Playlists < Youtube::Client
33
DEFAULT_METADATA_PARSER = "Youtube::VideoMetadata"
4+
45
def all(channel_id:, title_matcher: nil)
56
items = all_items("/playlists", query: {channelId: channel_id, part: "snippet,contentDetails"}).map do |metadata|
7+
year = metadata.snippet.title.match(/\d{4}/).to_s.presence || DateTime.parse(metadata.snippet.publishedAt).year
8+
69
OpenStruct.new({
710
id: metadata.id,
811
title: metadata.snippet.title,
12+
location: "Earth",
913
description: metadata.snippet.description,
1014
published_at: DateTime.parse(metadata.snippet.publishedAt).to_date.to_s,
15+
start_date: "#{year}-xx-xx",
16+
end_date: "#{year}-xx-xx",
1117
channel_id: metadata.snippet.channelId,
12-
year: metadata.snippet.title.match(/\d{4}/).to_s.presence || DateTime.parse(metadata.snippet.publishedAt).year,
18+
year: year,
1319
videos_count: metadata.contentDetails.itemCount,
1420
metadata_parser: DEFAULT_METADATA_PARSER,
15-
slug: metadata.snippet.title.parameterize
21+
slug: metadata.snippet.title.parameterize,
22+
banner_background: "#FF607F",
23+
featured_background: "#000000",
24+
featured_color: "#FFFFFF"
1625
})
1726
end
1827
items = items.select { |item| item.title.match?(string_to_regex(title_matcher)) } if title_matcher

scripts/create_playlists.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def create_playlists(organisation)
99
playlists.sort_by! { |playlist| playlist.year.to_i }
1010
playlists.select! { |playlist| playlist.videos_count.positive? }
1111

12-
File.write("#{Rails.root}/data_preparation/#{organisation["slug"]}/playlists.yml", playlists.map { |item| item.to_h.stringify_keys }.to_yaml)
12+
File.write("#{Rails.root}/data_preparation/#{organisation["slug"]}/playlists.yml", playlists.map { |item| item.to_h.stringify_keys }.to_yaml.gsub("- id: ", "\n- id: "))
1313
end
1414

1515
# This is the main loop

0 commit comments

Comments
 (0)