diff options
-rw-r--r-- | module/config/plugin_default.xml | 1 | ||||
-rw-r--r-- | module/plugins/decrypter/YoutubeChannel.py | 31 | ||||
-rwxr-xr-x | pyLoadCore.py | 1 |
3 files changed, 20 insertions, 13 deletions
diff --git a/module/config/plugin_default.xml b/module/config/plugin_default.xml index 773e4e46f..43c220516 100644 --- a/module/config/plugin_default.xml +++ b/module/config/plugin_default.xml @@ -27,6 +27,7 @@ <YoutubeChannel> <!-- False for no limitation --> <max_videos>False</max_videos> + <video_groups name="Video Groups" type="str" input="uploads;favorites">uploads,favorites</video_groups> </YoutubeChannel> <SerienjunkiesOrg> <preferredHoster>RapidshareCom,UploadedTo,NetloadIn,FilefactoryCom</preferredHoster> diff --git a/module/plugins/decrypter/YoutubeChannel.py b/module/plugins/decrypter/YoutubeChannel.py index 27a4ff8a7..2a3ae337f 100644 --- a/module/plugins/decrypter/YoutubeChannel.py +++ b/module/plugins/decrypter/YoutubeChannel.py @@ -13,7 +13,7 @@ class YoutubeChannel(Plugin): props['name'] = "YoutubeChannel" props['type'] = "container" props['pattern'] = r"http://(www\.)?(de\.)?\youtube\.com/user/*" - props['version'] = "0.3" + props['version'] = "0.4" props['description'] = """Youtube.com Channel Download Plugin""" props['author_name'] = ("RaNaN", "Spoob") props['author_mail'] = ("RaNaN@pyload.org", "spoob@pyload.org") @@ -34,16 +34,21 @@ class YoutubeChannel(Plugin): max_videos = 1000 #max video a user can upload page = 0 temp_links = [] - for start_index in range(1, int(max_videos), 50): - max_results = max_videos - page * 50 - if max_results > 50: - max_results = 50 - url = "http://gdata.youtube.com/feeds/api/users/" + self.user + "/uploads?max-results=" + str(max_results) + "&start-index=" + str(start_index) - rep = self.req.load(url) - new_links = re.findall(r"href\='(http:\/\/www.youtube.com\/watch\?v\=[^']+)", rep) - if new_links != []: - temp_links.extend(new_links) - else: - break - page += 1 + if "," in self.config['video_groups']: + video_groups = self.config['video_groups'].split(",") + else: + video_groups = [self.config['video_groups']] + for group in video_groups: + for start_index in range(1, int(max_videos), 50): + max_results = max_videos - page * 50 + if max_results > 50: + max_results = 50 + url = "http://gdata.youtube.com/feeds/api/users/%s/%s?max-results=%i&start-index=%i" % (self.user, group, max_results, start_index) + rep = self.req.load(str(url)) + new_links = re.findall(r"href\='(http:\/\/www.youtube.com\/watch\?v\=[^']+)", rep) + if new_links != []: + temp_links.extend(new_links) + else: + break + page += 1 self.links = temp_links diff --git a/pyLoadCore.py b/pyLoadCore.py index b3f9b9186..0a7fef11a 100755 --- a/pyLoadCore.py +++ b/pyLoadCore.py @@ -590,6 +590,7 @@ class ServerMethods(): end = self.core.config['reconnect']['endTime'].split(":")
return self.core.compare_time(start, end)
+# And so it begins...
if __name__ == "__main__":
pyload_core = Core()
try:
|