From cc0a1b0fc0de0690e0b98cfd9416fb3a61f5ea05 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 5 Jul 2014 16:34:57 +0200 Subject: [DailymotionCom] Default quality changed to "Highest" --- module/plugins/hoster/DailymotionCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 17e1ecf92..c377a0635 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -60,7 +60,7 @@ class DailymotionCom(Hoster): __type__ = "hoster" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\w^_]+)' __version__ = "0.2" - __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "HD 720p")] + __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" -- cgit v1.2.3 From 48c0c42fd6faffc56432d5f037cd575979f180cc Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 14 Jul 2014 02:23:37 +0200 Subject: Removed all @author flags + key attributes cleanup for internal & hooks plugins --- module/plugins/hoster/DailymotionCom.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index c377a0635..ba0f3d263 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -12,8 +12,6 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -# -# @author: Walter Purcaro ############################################################################ -- cgit v1.2.3 From 7b8c458cca7d21a029620f98e453f746fce69cd1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 14 Jul 2014 16:10:01 +0200 Subject: Prefer single quote for dict key name --- module/plugins/hoster/DailymotionCom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index ba0f3d263..5f032ca8b 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -34,14 +34,14 @@ def getInfo(urls): info = json_loads(page) if "title" in info: - name = info["title"] + ".mp4" + name = info['title'] + ".mp4" else: name = url - if "error" in info or info["access_error"]: + if "error" in info or info['access_error']: status = "offline" else: - status = info["status"] + status = info['status'] if status in ("ready", "published"): status = "online" elif status in ("waiting", "processing"): -- cgit v1.2.3 From ba916633f2bedb04c7358000b91aed69f52e8e43 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 1 Aug 2014 19:35:59 +0200 Subject: Remove trailing whitespaces + remove license headers + import urllib methods directly + sort and fix key attributes + use save_join instead join + sort some import declarations + other minor code cosmetics --- module/plugins/hoster/DailymotionCom.py | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 5f032ca8b..79b7acb45 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -1,26 +1,11 @@ # -*- coding: utf-8 -*- -############################################################################ -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -############################################################################ - import re +from module.PyFile import statusMap from module.common.json_layer import json_loads from module.network.RequestFactory import getURL from module.plugins.Hoster import Hoster -from module.PyFile import statusMap def getInfo(urls): @@ -56,13 +41,16 @@ def getInfo(urls): class DailymotionCom(Hoster): __name__ = "DailymotionCom" __type__ = "hoster" - __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\w^_]+)' __version__ = "0.2" + + __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\w^_]+)' __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] + __description__ = """Dailymotion.com hoster plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" + def setup(self): self.resumeDownload = self.multiDL = True -- cgit v1.2.3 From b0868ae6446078bacf1635dde5e4ab316b4a94cb Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 7 Oct 2014 18:57:59 +0200 Subject: New __authors__ key replaces __author_name__ and __author_mail__ + Whitespaces and EOF fixup --- module/plugins/hoster/DailymotionCom.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 79b7acb45..d8e56f761 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -47,8 +47,7 @@ class DailymotionCom(Hoster): __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" - __author_name__ = "Walter Purcaro" - __author_mail__ = "vuolter@gmail.com" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def setup(self): -- cgit v1.2.3 From ae7a7e66981456e5bbe2b54006d79b6f907be7a4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 20:18:13 +0200 Subject: Add __license__ key attribute to plugins --- module/plugins/hoster/DailymotionCom.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index d8e56f761..726663ca6 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -47,6 +47,7 @@ class DailymotionCom(Hoster): __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] -- cgit v1.2.3 From 0eb6e7ec4a1144dcca824d8add049787d3da1762 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 22 Oct 2014 19:44:59 +0200 Subject: Two space before function declaration --- module/plugins/hoster/DailymotionCom.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 726663ca6..b4ef6fa92 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -54,6 +54,7 @@ class DailymotionCom(Hoster): def setup(self): self.resumeDownload = self.multiDL = True + def getStreams(self): streams = [] for result in re.finditer(r"\"(?Phttp:\\/\\/www.dailymotion.com\\/cdn\\/H264-(?P.*?)\\.*?)\"", @@ -65,6 +66,7 @@ class DailymotionCom(Hoster): streams.append((quality, link)) return sorted(streams, key=lambda x: x[0][::-1]) + def getQuality(self): q = self.getConfig("quality") if q == "Lowest": @@ -75,6 +77,7 @@ class DailymotionCom(Hoster): quality = int(q.rsplit(" ")[1][:-1]) return quality + def getLink(self, streams, quality): if quality > 0: for x, s in reversed([item for item in enumerate(streams)]): @@ -91,6 +94,7 @@ class DailymotionCom(Hoster): self.logInfo("Download video quality %sx%s" % s[0]) return s[1] + def checkInfo(self, pyfile): pyfile.name, pyfile.size, pyfile.status, pyfile.url = getInfo([pyfile.url])[0] if pyfile.status == 1: @@ -98,6 +102,7 @@ class DailymotionCom(Hoster): elif pyfile.status == 6: self.tempOffline() + def process(self, pyfile): self.checkInfo(pyfile) -- cgit v1.2.3 From 9f2ebe486a3e155fb6a60e07cccb77ab6a772eb2 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 26 Oct 2014 02:31:54 +0200 Subject: Extend translation support in plugins + a lot of code cosmetics and typo fixes --- module/plugins/hoster/DailymotionCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index b4ef6fa92..91028156b 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -91,7 +91,7 @@ class DailymotionCom(Hoster): idx = quality s = streams[idx] - self.logInfo("Download video quality %sx%s" % s[0]) + self.logInfo(_("Download video quality %sx%s") % s[0]) return s[1] -- cgit v1.2.3 From 34984dae733c3f3d47b41a0acfba3724d53c65a1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 28 Oct 2014 16:52:10 +0100 Subject: Code cosmetics: plugin class attributes --- module/plugins/hoster/DailymotionCom.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 91028156b..6dd357260 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -39,16 +39,16 @@ def getInfo(urls): class DailymotionCom(Hoster): - __name__ = "DailymotionCom" - __type__ = "hoster" + __name__ = "DailymotionCom" + __type__ = "hoster" __version__ = "0.2" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\w^_]+)' __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def setup(self): -- cgit v1.2.3 From f4db1a3ce2692b9f310dac1548c1966bcea319a2 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 6 Dec 2014 22:47:56 +0100 Subject: Plugin code cosmetics (2) --- module/plugins/hoster/DailymotionCom.py | 41 ++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 6dd357260..09b2f626d 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -9,19 +9,17 @@ from module.plugins.Hoster import Hoster def getInfo(urls): - result = [] #: [ .. (name, size, status, url) .. ] - regex = re.compile(DailymotionCom.__pattern__) - apiurl = "https://api.dailymotion.com/video/" + result = [] + regex = re.compile(DailymotionCom.__pattern__) + apiurl = "https://api.dailymotion.com/video/%s" request = {"fields": "access_error,status,title"} + for url in urls: - id = regex.search(url).group("ID") - page = getURL(apiurl + id, get=request) + id = regex.match(url).group("ID") + page = getURL(apiurl % id, get=request) info = json_loads(page) - if "title" in info: - name = info['title'] + ".mp4" - else: - name = url + name = info['title'] + ".mp4" if "title" in info else url if "error" in info or info['access_error']: status = "offline" @@ -35,6 +33,7 @@ def getInfo(urls): status = "offline" result.append((name, 0, statusMap[status], url)) + return result @@ -43,8 +42,8 @@ class DailymotionCom(Hoster): __type__ = "hoster" __version__ = "0.2" - __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*?video/(?P[\w^_]+)' - __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] + __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*video/(?P[\w^_]+)' + __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" __license__ = "GPLv3" @@ -52,29 +51,36 @@ class DailymotionCom(Hoster): def setup(self): - self.resumeDownload = self.multiDL = True + self.resumeDownload = True + self.multiDL = True def getStreams(self): streams = [] + for result in re.finditer(r"\"(?Phttp:\\/\\/www.dailymotion.com\\/cdn\\/H264-(?P.*?)\\.*?)\"", self.html): url = result.group("URL") - qf = result.group("QF") - link = url.replace("\\", "") + qf = result.group("QF") + + link = url.replace("\\", "") quality = tuple(int(x) for x in qf.split("x")) + streams.append((quality, link)) + return sorted(streams, key=lambda x: x[0][::-1]) def getQuality(self): q = self.getConfig("quality") + if q == "Lowest": quality = 0 elif q == "Highest": quality = -1 else: quality = int(q.rsplit(" ")[1][:-1]) + return quality @@ -91,14 +97,18 @@ class DailymotionCom(Hoster): idx = quality s = streams[idx] + self.logInfo(_("Download video quality %sx%s") % s[0]) + return s[1] def checkInfo(self, pyfile): pyfile.name, pyfile.size, pyfile.status, pyfile.url = getInfo([pyfile.url])[0] + if pyfile.status == 1: self.offline() + elif pyfile.status == 6: self.tempOffline() @@ -111,6 +121,5 @@ class DailymotionCom(Hoster): streams = self.getStreams() quality = self.getQuality() - link = self.getLink(streams, quality) - self.download(link) + self.download(self.getLink(streams, quality)) -- cgit v1.2.3 From 6151e81fa0b325dffda3da4228d5821e73db3ef3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 9 Dec 2014 01:19:46 +0100 Subject: Fix __version__ format in some plugins --- module/plugins/hoster/DailymotionCom.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 09b2f626d..f07a34f8a 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -40,7 +40,7 @@ def getInfo(urls): class DailymotionCom(Hoster): __name__ = "DailymotionCom" __type__ = "hoster" - __version__ = "0.2" + __version__ = "0.20" __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*video/(?P[\w^_]+)' __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] -- cgit v1.2.3 From 854efeb463bd98cb8e22f1f78f5ce97e6c0ab49f Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 22 Dec 2014 16:45:04 +0100 Subject: Spare code cosmetics --- module/plugins/hoster/DailymotionCom.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/hoster/DailymotionCom.py') diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index f07a34f8a..dc42d1f60 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -15,7 +15,7 @@ def getInfo(urls): request = {"fields": "access_error,status,title"} for url in urls: - id = regex.match(url).group("ID") + id = regex.match(url).group('ID') page = getURL(apiurl % id, get=request) info = json_loads(page) @@ -60,8 +60,8 @@ class DailymotionCom(Hoster): for result in re.finditer(r"\"(?Phttp:\\/\\/www.dailymotion.com\\/cdn\\/H264-(?P.*?)\\.*?)\"", self.html): - url = result.group("URL") - qf = result.group("QF") + url = result.group('URL') + qf = result.group('QF') link = url.replace("\\", "") quality = tuple(int(x) for x in qf.split("x")) @@ -116,7 +116,7 @@ class DailymotionCom(Hoster): def process(self, pyfile): self.checkInfo(pyfile) - id = re.match(self.__pattern__, pyfile.url).group("ID") + id = re.match(self.__pattern__, pyfile.url).group('ID') self.html = self.load("http://www.dailymotion.com/embed/video/" + id, decode=True) streams = self.getStreams() -- cgit v1.2.3