- def __init__(self, title, parent, token):
- Node.__init__(self, title, parent)
- self.token = token
- self.series_nodes = {}
-
- def get_series_node(self, series_name):
- series_name = series_name.split("-")[0].strip()
- key = series_name.lower()
- node = self.series_nodes.get(key, None)
- if node is None:
- node = Node(series_name, self)
- self.series_nodes[key] = node
- return node
-
- def fill_children(self):
- page_number = 0
- while page_number < 100:
- sys.stdout.write(".")
- sys.stdout.flush()
- url = self.get_all_videos_url(page_number)
- page_number += 1
-
- page = grab_json(url, 3600)
- items = page["items"]
- if len(items) == 0:
- break
-
- for video_desc in items:
- self.process_video(video_desc)
- print
-
- def process_video(self, video_desc):
- if not video_desc["customFields"]:
- return
-
- video_id = video_desc["id"]
- title = self.get_video_title(video_desc)
- series_name = self.get_series_name(video_desc)
-
- parent_node = self.get_series_node(series_name)
- BrightcoveVideoNode(title, parent_node, self.token, video_id)
-
- def get_video_title(self, video_desc):
- raise NotImplementedError()
-
- def get_series_name(self, video_desc):
- raise NotImplementedError()
-
- def get_all_videos_url(self, page_number):
- raise NotImplementedError()
+ def __init__(self, title, parent, token):
+ Node.__init__(self, title, parent)
+ self.token = token
+ self.series_nodes = {}
+
+ def get_series_node(self, series_name):
+ series_name = series_name.split("-")[0].strip()
+ key = series_name.lower()
+ node = self.series_nodes.get(key, None)
+ if node is None:
+ node = Node(series_name, self)
+ self.series_nodes[key] = node
+ return node
+
+ def fill_children(self):
+ page_number = 0
+ while page_number < 100:
+ url = self.get_all_videos_url(page_number)
+ page_number += 1
+
+ page = grab_json(url, 3600)
+ items = page["items"]
+ if len(items) == 0:
+ break
+
+ for video_desc in items:
+ self.process_video(video_desc)
+
+ def process_video(self, video_desc):
+ if not video_desc["customFields"]:
+ return
+
+ video_id = video_desc["id"]
+ title = self.get_video_title(video_desc)
+ series_name = self.get_series_name(video_desc)
+
+ parent_node = self.get_series_node(series_name)
+ BrightcoveVideoNode(title, parent_node, self.token, video_id)
+
+ def get_video_title(self, video_desc):
+ raise NotImplementedError()
+
+ def get_series_name(self, video_desc):
+ raise NotImplementedError()
+
+ def get_all_videos_url(self, page_number):
+ raise NotImplementedError()