From 61457a4e1b1ef95edbd7e7d82d01ad44d4158bdf Mon Sep 17 00:00:00 2001 From: Kagenoshin Date: Wed, 25 Mar 2015 10:51:46 +0100 Subject: New plugin: MegaRapidoNet --- module/plugins/hoster/MegaRapidoNet.py | 81 ++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 module/plugins/hoster/MegaRapidoNet.py (limited to 'module/plugins/hoster/MegaRapidoNet.py') diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py new file mode 100644 index 000000000..2978c72e1 --- /dev/null +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.Hoster import Hoster +from random import randint + +def random_with_N_digits(n): + rand = "0." + not_zero = 0 + for i in range(1,n+1): + r = randint(0,9) + if(r > 0): + not_zero += 1 + rand += str(r) + + if not_zero > 0: + return rand + else: + return random_with_N_digits(n) + +class MegaRapidoNet(Hoster): + __name__ = "MegaRapidoNet" + __version__ = "0.01" + __type__ = "hoster" + __pattern__ = r"http://(?:www\.)*?(?:[^\.]+)\.megarapido\.net/\?file=" + __description__ = """Megarapido.net hoster plugin""" + __author_name__ = ("Kagenoshin") + __author_mail__ = ("kagenoshin@gmx.ch") + + DOWNLOAD_LINK_PATTERN = re.compile(r'<\s*?a[^>]*?title\s*?=\s*?["\'][^"\']*?download["\'][^>]*?href=["\']([^"\']*)', re.I) + ERROR_MESSAGE_PATTERN = re.compile(r'<\s*?div[^>]*?class\s*?=\s*?["\']?alert-message error[^>]*>([^<]*)',re.I) + + def setup(self): + self.resumeDownload = self.multiDL = True + self.chunkLimit = 1 + + def process(self, pyfile): + if not self.account: + self.logError(_("Please enter your %s account or deactivate this plugin") % "vipleech4u.com") + self.fail("No vipleech4u.com account provided") + + self.logDebug("Old URL: %s" % pyfile.url) + + new_url = pyfile.url + + #load userID + user_id = self.getStorage("MegarapidoNet_userID") + + #upload the link which has to be loaded + if not re.match(self.__pattern__, new_url): + page = self.load("http://megarapido.net/gerar.php", post={"rand":random_with_N_digits(16), "urllist":new_url, "links":new_url, "exibir":"normal", "usar":"premium", "user":user_id, "autoreset":""}) + if "desloga e loga novamente para gerar seus links" in page.lower(): + self.fail("Restart pyload, because you have logged in at another place.") + + error_1 = self.ERROR_MESSAGE_PATTERN.search(page) + if error_1: + self.fail("%s" %error_1.group(1)) + + download_link = self.DOWNLOAD_LINK_PATTERN.search(page) + if download_link: + download_link = download_link.group(1) + else: + self.fail("Couldn't find a download link.") + else: + download_link = new_url + + #tests (todo) + if re.search(r'You have generated maximum links available to you today', page, re.I): + self.fail('Daily limit reached.') + + self.setWait(5) + self.wait() + self.logDebug("Unrestricted URL: " + download_link) + + self.download(download_link, disposition=True) + + check = self.checkDownload({"bad": " Date: Wed, 25 Mar 2015 12:08:31 +0100 Subject: [MegaRapidoNet] Cleanup --- module/plugins/hoster/MegaRapidoNet.py | 98 ++++++++++++---------------------- 1 file changed, 35 insertions(+), 63 deletions(-) (limited to 'module/plugins/hoster/MegaRapidoNet.py') diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py index 2978c72e1..1b0e4ffb6 100644 --- a/module/plugins/hoster/MegaRapidoNet.py +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- -import re - -from module.plugins.Hoster import Hoster from random import randint +from module.plugins.internal.MultiHoster import MultiHoster + + def random_with_N_digits(n): rand = "0." not_zero = 0 @@ -19,63 +19,35 @@ def random_with_N_digits(n): else: return random_with_N_digits(n) -class MegaRapidoNet(Hoster): - __name__ = "MegaRapidoNet" - __version__ = "0.01" - __type__ = "hoster" - __pattern__ = r"http://(?:www\.)*?(?:[^\.]+)\.megarapido\.net/\?file=" - __description__ = """Megarapido.net hoster plugin""" - __author_name__ = ("Kagenoshin") - __author_mail__ = ("kagenoshin@gmx.ch") - - DOWNLOAD_LINK_PATTERN = re.compile(r'<\s*?a[^>]*?title\s*?=\s*?["\'][^"\']*?download["\'][^>]*?href=["\']([^"\']*)', re.I) - ERROR_MESSAGE_PATTERN = re.compile(r'<\s*?div[^>]*?class\s*?=\s*?["\']?alert-message error[^>]*>([^<]*)',re.I) - - def setup(self): - self.resumeDownload = self.multiDL = True - self.chunkLimit = 1 - - def process(self, pyfile): - if not self.account: - self.logError(_("Please enter your %s account or deactivate this plugin") % "vipleech4u.com") - self.fail("No vipleech4u.com account provided") - - self.logDebug("Old URL: %s" % pyfile.url) - - new_url = pyfile.url - - #load userID - user_id = self.getStorage("MegarapidoNet_userID") - - #upload the link which has to be loaded - if not re.match(self.__pattern__, new_url): - page = self.load("http://megarapido.net/gerar.php", post={"rand":random_with_N_digits(16), "urllist":new_url, "links":new_url, "exibir":"normal", "usar":"premium", "user":user_id, "autoreset":""}) - if "desloga e loga novamente para gerar seus links" in page.lower(): - self.fail("Restart pyload, because you have logged in at another place.") - - error_1 = self.ERROR_MESSAGE_PATTERN.search(page) - if error_1: - self.fail("%s" %error_1.group(1)) - - download_link = self.DOWNLOAD_LINK_PATTERN.search(page) - if download_link: - download_link = download_link.group(1) - else: - self.fail("Couldn't find a download link.") - else: - download_link = new_url - - #tests (todo) - if re.search(r'You have generated maximum links available to you today', page, re.I): - self.fail('Daily limit reached.') - - self.setWait(5) - self.wait() - self.logDebug("Unrestricted URL: " + download_link) - - self.download(download_link, disposition=True) - - check = self.checkDownload({"bad": "]*?title\s*?=\s*?["\'][^"\']*?download["\'][^>]*?href=["\']([^"\']*)' + + ERROR_PATTERN = r'<\s*?div[^>]*?class\s*?=\s*?["\']?alert-message error[^>]*>([^<]*)' + + + def handlePremium(self, pyfile): + self.html = self.load("http://megarapido.net/gerar.php", + post={'rand' :random_with_N_digits(16), + 'urllist' : pyfile.url, + 'links' : pyfile.url, + 'exibir' : "normal", + 'usar' : "premium", + 'user' : self.account.getAccountInfo(self.user).get('sid', None), + 'autoreset': ""}) + + if "desloga e loga novamente para gerar seus links" in self.html.lower(): + self.error("You have logged in at another place") + + return super(MegaRapidoNet, self).handlePremium(pyfile) -- cgit v1.2.3 From 7d90803262ccbb4fc5296a4dc3ce30fe98f55631 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 25 Mar 2015 23:10:07 +0100 Subject: __config__ cosmetics --- module/plugins/hoster/MegaRapidoNet.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/hoster/MegaRapidoNet.py') diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py index 1b0e4ffb6..b38374646 100644 --- a/module/plugins/hoster/MegaRapidoNet.py +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -26,6 +26,7 @@ class MegaRapidoNet(MultiHoster): __version__ = "0.02" __pattern__ = r'http://(?:www\.)?\w+\.megarapido\.net/\?file=\w+' + __config__ = [("use_premium", "bool", "Use premium account if available", True)] __description__ = """MegaRapido.net multi-hoster plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From 589121e80835c63aea0880a53c6678de5c31c16e Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 28 Mar 2015 01:59:01 +0100 Subject: Spare code cosmetics --- module/plugins/hoster/MegaRapidoNet.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'module/plugins/hoster/MegaRapidoNet.py') diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py index b38374646..b5bd7f3f2 100644 --- a/module/plugins/hoster/MegaRapidoNet.py +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -8,8 +8,8 @@ from module.plugins.internal.MultiHoster import MultiHoster def random_with_N_digits(n): rand = "0." not_zero = 0 - for i in range(1,n+1): - r = randint(0,9) + for i in range(1, n + 1): + r = randint(0, 9) if(r > 0): not_zero += 1 rand += str(r) @@ -33,9 +33,9 @@ class MegaRapidoNet(MultiHoster): __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")] - LINK_PREMIUM_PATTERN = r'<\s*?a[^>]*?title\s*?=\s*?["\'][^"\']*?download["\'][^>]*?href=["\']([^"\']*)' + LINK_PREMIUM_PATTERN = r'<\s*?a[^>]*?title\s*?=\s*?["\'].*?download["\'][^>]*?href=["\']([^"\']+)' - ERROR_PATTERN = r'<\s*?div[^>]*?class\s*?=\s*?["\']?alert-message error[^>]*>([^<]*)' + ERROR_PATTERN = r'<\s*?div[^>]*?class\s*?=\s*?["\']?alert-message error.*?>([^<]*)' def handlePremium(self, pyfile): -- cgit v1.2.3 From 1ef93e913238275f7657d496ba3d2e7eeb5a30a2 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 1 May 2015 01:06:01 +0200 Subject: Use 'import' instead 'from' --- module/plugins/hoster/MegaRapidoNet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/MegaRapidoNet.py') diff --git a/module/plugins/hoster/MegaRapidoNet.py b/module/plugins/hoster/MegaRapidoNet.py index b5bd7f3f2..a3b4c72ba 100644 --- a/module/plugins/hoster/MegaRapidoNet.py +++ b/module/plugins/hoster/MegaRapidoNet.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from random import randint +import random from module.plugins.internal.MultiHoster import MultiHoster @@ -9,7 +9,7 @@ def random_with_N_digits(n): rand = "0." not_zero = 0 for i in range(1, n + 1): - r = randint(0, 9) + r = random.randint(0, 9) if(r > 0): not_zero += 1 rand += str(r) -- cgit v1.2.3