diff options
Diffstat (limited to 'module/plugins/hoster/OneFichierCom.py')
-rw-r--r-- | module/plugins/hoster/OneFichierCom.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index b657fe484..ef6f49da3 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -9,10 +9,10 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class OneFichierCom(SimpleHoster): __name__ = "OneFichierCom" __type__ = "hoster" - __version__ = "0.95" + __version__ = "0.97" __status__ = "testing" - __pattern__ = r'https?://(?:www\.)?(?:\w+\.)?(?P<HOST>1fichier\.com|alterupload\.com|cjoint\.net|d(es)?fichiers\.com|dl4free\.com|megadl\.fr|mesfichiers\.org|piecejointe\.net|pjointe\.com|tenvoi\.com)(?:/\?\w+)?' + __pattern__ = r'https?://(?:www\.)?(?:\w+\.)?(?P<HOST>1fichier\.com|alterupload\.com|cjoint\.net|d(?:es)?fichiers\.com|dl4free\.com|megadl\.fr|mesfichiers\.org|piecejointe\.net|pjointe\.com|tenvoi\.com)(?:/\?\w+)?' __config__ = [("activated" , "bool", "Activated" , True), ("use_premium" , "bool", "Use premium account if available" , True), ("fallback" , "bool", "Fallback to free download if premium fails" , True), @@ -28,22 +28,24 @@ class OneFichierCom(SimpleHoster): ("stickell", "l.stickell@yahoo.it"), ("Elrick69", "elrick69[AT]rocketmail[DOT]com"), ("Walter Purcaro", "vuolter@gmail.com"), - ("Ludovic Lehmann", "ludo.lehmann@gmail.com")] + ("Ludovic Lehmann", "ludo.lehmann@gmail.com"), + ("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] + DISPOSITION = False #@TODO: Remove disposition in 0.4.10 URL_REPLACEMENTS = [("https:", "http:")] #@TODO: Remove in 0.4.10 - COOKIES = [("1fichier.com", "LG", "en")] + COOKIES = [("1fichier.com", "LG", "en")] - NAME_PATTERN = r'>File\s*Name :</td>\s*<td.*>(?P<N>.+?)<' - SIZE_PATTERN = r'>Size :</td>\s*<td.*>(?P<S>[\d.,]+) (?P<U>[\w^_]+)' - OFFLINE_PATTERN = r'File not found !\s*<' - - WAIT_PATTERN = r'>You must wait \d+ minutes' + NAME_PATTERN = r'>File\s*Name :</td>\s*<td.*>(?P<N>.+?)<' + SIZE_PATTERN = r'>Size :</td>\s*<td.*>(?P<S>[\d.,]+) (?P<U>[\w^_]+)' + OFFLINE_PATTERN = r'File not found !\s*<' + LINK_PATTERN = r'<a href="(.+?)".*>Click here to download the file</a>' + WAIT_PATTERN = r'>You must wait \d+ minutes' def setup(self): - self.multiDL = self.premium + self.multiDL = self.premium self.resume_download = True @@ -52,7 +54,7 @@ class OneFichierCom(SimpleHoster): redirect = url for i in xrange(10): try: - headers = dict(re.findall(r"(?P<name>.+?): (?P<value>.+?)\r?\n", get_url(redirect, just_header=True).lower())) + headers = dict((k.lower(), v) for k,v in re.findall(r"(?P<name>.+?): (?P<value>.+?)\r?\n", get_url(redirect, just_header=True))) if 'location' in headers and headers['location']: redirect = headers['location'] else: @@ -94,13 +96,16 @@ class OneFichierCom(SimpleHoster): if "pass" in inputs: inputs['pass'] = self.get_password() - inputs['submit'] = "Download" + inputs['dl_no_ssl'] = "on" + + self.data=self.load(url, post=inputs) - self.download(url, post=inputs) + m = re.search(self.LINK_PATTERN, self.data) + if m: + self.link = m.group(1) def handle_premium(self, pyfile): - self.download(pyfile.url, post={'did': 0, 'dl_no_ssl': "on"}) + self.download(pyfile.url, post={'did': 0, 'dl_no_ssl': "on"}, disposition=False) #@TODO: Remove disposition in 0.4.10 -getInfo = create_getInfo(OneFichierCom) |