- menu = grab_json(VIDEO_MENU, 3600, skip_assignment=True)
- for name in menu.keys():
- self.fill_category(self, menu[name])
-
- def create_nav_node(self, name, parent, cat_data, url_key):
- try:
- url = cat_data[url_key]
- except KeyError:
+ full_video_list = grab_json(FULL_VIDEO_LIST, 3600)
+ category_and_entry_data = self.explode_videos_to_unique_categories(full_video_list)
+ for category_path, entry_data in category_and_entry_data:
+ nav_node = self.create_nav_node(self, category_path)
+ nav_node.create_video_node(entry_data)
+
+ def explode_videos_to_unique_categories(self, full_video_list):
+ for entry_data in full_video_list["entries"]:
+ for category_data in entry_data["media$categories"]:
+ category_path = self.calculate_category_path(
+ category_data["media$scheme"],
+ category_data["media$name"],
+ )
+ if category_path:
+ yield category_path, entry_data
+
+ def calculate_category_path(self, scheme, name):
+ if not scheme: