summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/crypter/YoutubeBatch.py27
1 files changed, 10 insertions, 17 deletions
diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py
index 88906d0db..2e68dfe02 100644
--- a/module/plugins/crypter/YoutubeBatch.py
+++ b/module/plugins/crypter/YoutubeBatch.py
@@ -8,26 +8,19 @@ from module.plugins.Crypter import Crypter
class YoutubeBatch(Crypter):
__name__ = "YoutubeBatch"
__type__ = "container"
- __pattern__ = r"http://(?:[^/]*?)youtube\.com/(?:(?:view_play_list|playlist|.*?feature=PlayList).*?(?:[\?&]list|p=)|user/.*?/user/)(\w+)"
- __version__ = "0.91"
+ __pattern__ = r"http://(?:[^/]*?)youtube\.com/((?:view_play_list|playlist|.*?feature=PlayList).*?[\?&](?:list|p)=|user/)(\w+)"
+ __version__ = "0.92"
__description__ = """Youtube.com Channel Download Plugin"""
- __author_name__ = ("RaNaN", "Spoob")
- __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org")
-
- def setup(self):
- compile_id = re.compile(self.__pattern__)
- match_id = compile_id.match(self.pyfile.url)
- self.playlist = match_id.group(1)
-
- def file_exists(self):
- if "User not found" in self.req.load("http://gdata.youtube.com/feeds/api/playlists/%s?v=2" % self.playlist):
- return False
- return True
+ __author_name__ = ("RaNaN", "Spoob", "zoidberg")
+ __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org", "zoidberg@mujmail.cz")
def decrypt(self, pyfile):
- if not self.file_exists():
- self.offline()
- url = "http://gdata.youtube.com/feeds/api/playlists/%s?v=2" % self.playlist
+ match_id = re.match(self.__pattern__, self.pyfile.url)
+ if match_id.group(1) == "user/":
+ url = "http://gdata.youtube.com/feeds/api/users/%s/uploads?v=2" % match_id.group(2)
+ else:
+ url = "http://gdata.youtube.com/feeds/api/playlists/%s?v=2" % match_id.group(2)
+
rep = self.load(url)
new_links = []
new_links.extend(re.findall(r"href\='(http:\/\/www.youtube.com\/watch\?v\=[^']+)&", rep))