summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/OneFichierCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/OneFichierCom.py')
-rw-r--r--module/plugins/hoster/OneFichierCom.py35
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)