summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-05-01 01:06:01 +0200
committerGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-05-01 01:06:01 +0200
commit1ef93e913238275f7657d496ba3d2e7eeb5a30a2 (patch)
treec52a2ab51763fce4a9b47d3c62388a27ebdeeda8
parentFix https://github.com/pyload/pyload/issues/1373 (diff)
downloadpyload-1ef93e913238275f7657d496ba3d2e7eeb5a30a2.tar.xz
Use 'import' instead 'from'
-rw-r--r--module/plugins/accounts/FilefactoryCom.py5
-rw-r--r--module/plugins/accounts/LinksnappyCom.py6
-rw-r--r--module/plugins/accounts/OboomCom.py3
-rw-r--r--module/plugins/accounts/OneFichierCom.py5
-rw-r--r--module/plugins/accounts/SmoozedCom.py1
-rw-r--r--module/plugins/accounts/UlozTo.py5
-rw-r--r--module/plugins/accounts/WebshareCz.py6
-rw-r--r--module/plugins/captcha/LinksaveIn.py9
-rw-r--r--module/plugins/container/CCF.py8
-rw-r--r--module/plugins/crypter/CloudzillaToFolder.py3
-rw-r--r--module/plugins/crypter/DailymotionComFolder.py5
-rw-r--r--module/plugins/crypter/DevhostStFolder.py5
-rw-r--r--module/plugins/crypter/FilecryptCc.py4
-rw-r--r--module/plugins/crypter/Go4UpCom.py5
-rw-r--r--module/plugins/crypter/MultiUpOrg.py4
-rw-r--r--module/plugins/crypter/SafelinkingNet.py2
-rw-r--r--module/plugins/crypter/TusfilesNetFolder.py4
-rw-r--r--module/plugins/crypter/UploadedToFolder.py5
-rw-r--r--module/plugins/crypter/YoutubeComFolder.py5
-rw-r--r--module/plugins/hooks/BypassCaptcha.py6
-rw-r--r--module/plugins/hooks/CaptchaBrotherhood.py11
-rw-r--r--module/plugins/hooks/Checksum.py14
-rw-r--r--module/plugins/hooks/DeathByCaptcha.py6
-rw-r--r--module/plugins/hooks/ExpertDecoders.py9
-rw-r--r--module/plugins/hooks/IRCInterface.py4
-rw-r--r--module/plugins/hooks/ImageTyperz.py6
-rw-r--r--module/plugins/hooks/SkipRev.py6
-rw-r--r--module/plugins/hoster/AlldebridCom.py4
-rw-r--r--module/plugins/hoster/BasePlugin.py13
-rw-r--r--module/plugins/hoster/DepositfilesCom.py5
-rw-r--r--module/plugins/hoster/FastixRu.py4
-rw-r--r--module/plugins/hoster/FastshareCz.py7
-rw-r--r--module/plugins/hoster/FileSharkPl.py5
-rw-r--r--module/plugins/hoster/FilefactoryCom.py3
-rw-r--r--module/plugins/hoster/FilerNet.py3
-rw-r--r--module/plugins/hoster/FlyFilesNet.py5
-rw-r--r--module/plugins/hoster/FshareVn.py5
-rw-r--r--module/plugins/hoster/Ftp.py13
-rw-r--r--module/plugins/hoster/GigapetaCom.py11
-rw-r--r--module/plugins/hoster/HellshareCz.py2
-rw-r--r--module/plugins/hoster/Keep2ShareCc.py5
-rw-r--r--module/plugins/hoster/LetitbitNet.py5
-rw-r--r--module/plugins/hoster/LinksnappyCom.py5
-rw-r--r--module/plugins/hoster/MegaCoNz.py16
-rw-r--r--module/plugins/hoster/MegaDebridEu.py3
-rw-r--r--module/plugins/hoster/MegaRapidCz.py5
-rw-r--r--module/plugins/hoster/MegaRapidoNet.py4
-rw-r--r--module/plugins/hoster/MultishareCz.py5
-rw-r--r--module/plugins/hoster/NarodRu.py5
-rw-r--r--module/plugins/hoster/NetloadIn.py5
-rw-r--r--module/plugins/hoster/OverLoadMe.py4
-rw-r--r--module/plugins/hoster/PremiumTo.py4
-rw-r--r--module/plugins/hoster/QuickshareCz.py7
-rw-r--r--module/plugins/hoster/RapidgatorNet.py7
-rw-r--r--module/plugins/hoster/RapiduNet.py5
-rw-r--r--module/plugins/hoster/RealdebridCom.py4
-rw-r--r--module/plugins/hoster/RehostTo.py2
-rw-r--r--module/plugins/hoster/ShareonlineBiz.py7
-rw-r--r--module/plugins/hoster/ShareplaceCom.py5
-rw-r--r--module/plugins/hoster/SpeedyshareCom.py3
-rw-r--r--module/plugins/hoster/TurbobitNet.py16
-rw-r--r--module/plugins/hoster/UnibytesCom.py14
-rw-r--r--module/plugins/hoster/UpleaCom.py5
-rw-r--r--module/plugins/hoster/UploadheroCom.py7
-rw-r--r--module/plugins/hoster/UploadingCom.py5
-rw-r--r--module/plugins/hoster/WrzucTo.py5
-rw-r--r--module/plugins/hoster/XHamsterCom.py5
-rw-r--r--module/plugins/hoster/XVideosCom.py5
-rw-r--r--module/plugins/hoster/Xdcc.py2
-rw-r--r--module/plugins/hoster/YourfilesTo.py6
-rw-r--r--module/plugins/hoster/YoutubeCom.py6
-rw-r--r--module/plugins/hoster/ZeveraCom.py3
-rw-r--r--module/plugins/internal/CaptchaService.py12
-rw-r--r--module/plugins/internal/SimpleCrypter.py7
-rw-r--r--module/plugins/internal/SimpleDereferer.py5
-rw-r--r--module/plugins/internal/XFSAccount.py5
-rw-r--r--module/plugins/internal/XFSHoster.py15
77 files changed, 196 insertions, 265 deletions
diff --git a/module/plugins/accounts/FilefactoryCom.py b/module/plugins/accounts/FilefactoryCom.py
index f07f4895a..37b6f97a8 100644
--- a/module/plugins/accounts/FilefactoryCom.py
+++ b/module/plugins/accounts/FilefactoryCom.py
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
import time
-from pycurl import REFERER
-
from module.plugins.Account import Account
@@ -38,7 +37,7 @@ class FilefactoryCom(Account):
def login(self, user, data, req):
- req.http.c.setopt(REFERER, "http://www.filefactory.com/member/login.php")
+ req.http.c.setopt(pycurl.REFERER, "http://www.filefactory.com/member/login.php")
html = req.load("http://www.filefactory.com/member/signin.php",
post={"loginEmail" : user,
diff --git a/module/plugins/accounts/LinksnappyCom.py b/module/plugins/accounts/LinksnappyCom.py
index 97e368285..34571d374 100644
--- a/module/plugins/accounts/LinksnappyCom.py
+++ b/module/plugins/accounts/LinksnappyCom.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from hashlib import md5
+import hashlib
from module.plugins.Account import Account
from module.common.json_layer import json_loads
@@ -18,7 +18,7 @@ class LinksnappyCom(Account):
def loadAccountInfo(self, user, req):
data = self.getAccountData(user)
r = req.load('http://gen.linksnappy.com/lseAPI.php',
- get={'act': 'USERDETAILS', 'username': user, 'password': md5(data['password']).hexdigest()})
+ get={'act': 'USERDETAILS', 'username': user, 'password': hashlib.md5(data['password']).hexdigest()})
self.logDebug("JSON data: " + r)
@@ -50,7 +50,7 @@ class LinksnappyCom(Account):
r = req.load("http://gen.linksnappy.com/lseAPI.php",
get={'act' : 'USERDETAILS',
'username': user,
- 'password': md5(data['password']).hexdigest()},
+ 'password': hashlib.md5(data['password']).hexdigest()},
decode=True)
if 'Invalid Account Details' in r:
diff --git a/module/plugins/accounts/OboomCom.py b/module/plugins/accounts/OboomCom.py
index a9068f1df..020a45ba7 100644
--- a/module/plugins/accounts/OboomCom.py
+++ b/module/plugins/accounts/OboomCom.py
@@ -1,13 +1,12 @@
# -*- coding: utf-8 -*-
-import time
-
try:
from beaker.crypto.pbkdf2 import PBKDF2
except ImportError:
from beaker.crypto.pbkdf2 import pbkdf2
from binascii import b2a_hex
+
class PBKDF2(object):
def __init__(self, passphrase, salt, iterations=1000):
self.passphrase = passphrase
diff --git a/module/plugins/accounts/OneFichierCom.py b/module/plugins/accounts/OneFichierCom.py
index be4b5e67e..b19e2bc69 100644
--- a/module/plugins/accounts/OneFichierCom.py
+++ b/module/plugins/accounts/OneFichierCom.py
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
import time
-from pycurl import REFERER
-
from module.plugins.Account import Account
@@ -45,7 +44,7 @@ class OneFichierCom(Account):
def login(self, user, data, req):
- req.http.c.setopt(REFERER, "https://1fichier.com/login.pl?lg=en")
+ req.http.c.setopt(pycurl.REFERER, "https://1fichier.com/login.pl?lg=en")
html = req.load("https://1fichier.com/login.pl?lg=en",
post={'mail' : user,
diff --git a/module/plugins/accounts/SmoozedCom.py b/module/plugins/accounts/SmoozedCom.py
index 3c8226704..56cd1864a 100644
--- a/module/plugins/accounts/SmoozedCom.py
+++ b/module/plugins/accounts/SmoozedCom.py
@@ -9,6 +9,7 @@ try:
except ImportError:
from beaker.crypto.pbkdf2 import pbkdf2
from binascii import b2a_hex
+
class PBKDF2(object):
def __init__(self, passphrase, salt, iterations=1000):
self.passphrase = passphrase
diff --git a/module/plugins/accounts/UlozTo.py b/module/plugins/accounts/UlozTo.py
index 6ddb34385..f95c8834b 100644
--- a/module/plugins/accounts/UlozTo.py
+++ b/module/plugins/accounts/UlozTo.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.Account import Account
@@ -37,7 +36,7 @@ class UlozTo(Account):
action = re.findall('<form action="(.+?)"', login_page)[1].replace('&amp;', '&')
token = re.search('_token_" value="(.+?)"', login_page).group(1)
- html = req.load(urljoin("http://www.ulozto.net/", action),
+ html = req.load(urlparse.urljoin("http://www.ulozto.net/", action),
post={'_token_' : token,
'do' : "loginForm-submit",
'login' : u"Přihlásit",
diff --git a/module/plugins/accounts/WebshareCz.py b/module/plugins/accounts/WebshareCz.py
index 3c5f45d34..f032e2317 100644
--- a/module/plugins/accounts/WebshareCz.py
+++ b/module/plugins/accounts/WebshareCz.py
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
+import hashlib
import re
import time
-from hashlib import md5, sha1
from passlib.hash import md5_crypt
from module.plugins.Account import Account
@@ -51,8 +51,8 @@ class WebshareCz(Account):
self.wrongPassword()
salt = re.search('<salt>(.+)</salt>', salt).group(1)
- password = sha1(md5_crypt.encrypt(data["password"], salt=salt)).hexdigest()
- digest = md5(user + ":Webshare:" + password).hexdigest()
+ password = hashlib.sha1(md5_crypt.encrypt(data["password"], salt=salt)).hexdigest()
+ digest = hashlib.md5(user + ":Webshare:" + password).hexdigest()
login = req.load("https://webshare.cz/api/login/",
post={'digest' : digest,
diff --git a/module/plugins/captcha/LinksaveIn.py b/module/plugins/captcha/LinksaveIn.py
index e256da502..95b107977 100644
--- a/module/plugins/captcha/LinksaveIn.py
+++ b/module/plugins/captcha/LinksaveIn.py
@@ -5,9 +5,8 @@ try:
except ImportError:
import Image
-from glob import glob
-from os import sep
-from os.path import abspath, dirname
+import glob
+import os
from module.plugins.captcha.OCR import OCR
@@ -24,7 +23,7 @@ class LinksaveIn(OCR):
def __init__(self):
OCR.__init__(self)
- self.data_dir = dirname(abspath(__file__)) + sep + "LinksaveIn" + sep
+ self.data_dir = os.path.dirname(os.path.abspath(__file__)) + os.sep + "LinksaveIn" + os.sep
def load_image(self, image):
@@ -59,7 +58,7 @@ class LinksaveIn(OCR):
stat = {}
cstat = {}
img = self.image.convert("P")
- for bgpath in glob(self.data_dir+"bg/*.gif"):
+ for bgpath in glob.glob(self.data_dir+"bg/*.gif"):
stat[bgpath] = 0
bg = Image.open(bgpath)
diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py
index 79d7879a7..235d5dc1d 100644
--- a/module/plugins/container/CCF.py
+++ b/module/plugins/container/CCF.py
@@ -2,11 +2,9 @@
from __future__ import with_statement
+import MultipartPostHandler
import re
-
-from urllib2 import build_opener
-
-from MultipartPostHandler import MultipartPostHandler
+import urllib2
from module.plugins.Container import Container
from module.utils import fs_encode, save_join
@@ -27,7 +25,7 @@ class CCF(Container):
def decrypt(self, pyfile):
fs_filename = fs_encode(pyfile.url.strip())
- opener = build_opener(MultipartPostHandler)
+ opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler)
dlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php',
{'src' : "ccf",
diff --git a/module/plugins/crypter/CloudzillaToFolder.py b/module/plugins/crypter/CloudzillaToFolder.py
index 76019d928..96d7245f1 100644
--- a/module/plugins/crypter/CloudzillaToFolder.py
+++ b/module/plugins/crypter/CloudzillaToFolder.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
diff --git a/module/plugins/crypter/DailymotionComFolder.py b/module/plugins/crypter/DailymotionComFolder.py
index 5c078000a..01caa0bb8 100644
--- a/module/plugins/crypter/DailymotionComFolder.py
+++ b/module/plugins/crypter/DailymotionComFolder.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.common.json_layer import json_loads
from module.plugins.Crypter import Crypter
@@ -24,7 +23,7 @@ class DailymotionComFolder(Crypter):
def api_response(self, ref, req=None):
- url = urljoin("https://api.dailymotion.com/", ref)
+ url = urlparse.urljoin("https://api.dailymotion.com/", ref)
html = self.load(url, get=req)
return json_loads(html)
diff --git a/module/plugins/crypter/DevhostStFolder.py b/module/plugins/crypter/DevhostStFolder.py
index 5cafbf6b8..4d15e2058 100644
--- a/module/plugins/crypter/DevhostStFolder.py
+++ b/module/plugins/crypter/DevhostStFolder.py
@@ -4,8 +4,7 @@
# http://d-h.st/users/shine/?fld_id=37263#files
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
@@ -42,7 +41,7 @@ class DevhostStFolder(SimpleCrypter):
p = r'href="(.+?)">Back to \w+<'
m = re.search(p, self.html)
- html = self.load(urljoin("http://d-h.st", m.group(1)),
+ html = self.load(urlparse.urljoin("http://d-h.st", m.group(1)),
cookies=False)
p = '\?fld_id=%s.*?">(.+?)<' % self.info['pattern']['ID']
diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py
index 495efd706..a1a94b6f6 100644
--- a/module/plugins/crypter/FilecryptCc.py
+++ b/module/plugins/crypter/FilecryptCc.py
@@ -5,9 +5,9 @@
import binascii
import re
+import urlparse
from Crypto.Cipher import AES
-from urlparse import urljoin
from module.plugins.Crypter import Crypter
from module.plugins.internal.CaptchaService import ReCaptcha
@@ -91,7 +91,7 @@ class FilecryptCc(Crypter):
if m: #: normal captcha
self.logDebug("Captcha-URL: %s" % m.group(1))
- captcha_code = self.decryptCaptcha(urljoin(self.base_url, m.group(1)),
+ captcha_code = self.decryptCaptcha(urlparse.urljoin(self.base_url, m.group(1)),
forceUser=True,
imgtype="gif")
diff --git a/module/plugins/crypter/Go4UpCom.py b/module/plugins/crypter/Go4UpCom.py
index 6e7d09466..22f31f6f6 100644
--- a/module/plugins/crypter/Go4UpCom.py
+++ b/module/plugins/crypter/Go4UpCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
@@ -35,7 +34,7 @@ class Go4UpCom(SimpleCrypter):
m = re.search(r'(/download/gethosts/.+?)"', self.html)
if m:
- self.html = self.load(urljoin("http://go4up.com/", m.group(1)))
+ self.html = self.load(urlparse.urljoin("http://go4up.com/", m.group(1)))
pages = [self.load(url) for url in re.findall(self.LINK_PATTERN, self.html)]
else:
pages = [self.html]
diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py
index 3f9e819eb..b676c3029 100644
--- a/module/plugins/crypter/MultiUpOrg.py
+++ b/module/plugins/crypter/MultiUpOrg.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import re
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
@@ -33,7 +33,7 @@ class MultiUpOrg(SimpleCrypter):
pattern = r'style="width:97%;text-align:left".*\n.*href="(.*)"'
if m_type == "download":
dl_pattern = r'href="(.*)">.*\n.*<h5>DOWNLOAD</h5>'
- miror_page = urljoin("http://www.multiup.org", re.search(dl_pattern, self.html).group(1))
+ miror_page = urlparse.urljoin("http://www.multiup.org", re.search(dl_pattern, self.html).group(1))
self.html = self.load(miror_page)
return re.findall(pattern, self.html)
diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py
index 34a45ea6e..7f0915065 100644
--- a/module/plugins/crypter/SafelinkingNet.py
+++ b/module/plugins/crypter/SafelinkingNet.py
@@ -2,8 +2,6 @@
import re
-from pycurl import FOLLOWLOCATION
-
from BeautifulSoup import BeautifulSoup
from module.common.json_layer import json_loads
diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py
index 47cc973f0..1cc505b81 100644
--- a/module/plugins/crypter/TusfilesNetFolder.py
+++ b/module/plugins/crypter/TusfilesNetFolder.py
@@ -2,7 +2,7 @@
import math
import re
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo
@@ -28,7 +28,7 @@ class TusfilesNetFolder(XFSCrypter):
def loadPage(self, page_n):
- return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True)
+ return self.load(urlparse.urljoin(self.pyfile.url, str(page_n)), decode=True)
def handlePages(self, pyfile):
diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py
index b86c66bf7..d54ed47eb 100644
--- a/module/plugins/crypter/UploadedToFolder.py
+++ b/module/plugins/crypter/UploadedToFolder.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo
@@ -31,7 +30,7 @@ class UploadedToFolder(SimpleCrypter):
if m is None:
self.error(_("PLAIN_PATTERN not found"))
- plain_link = urljoin("http://uploaded.net/", m.group(1))
+ plain_link = urlparse.urljoin("http://uploaded.net/", m.group(1))
return self.load(plain_link).split('\n')[:-1]
diff --git a/module/plugins/crypter/YoutubeComFolder.py b/module/plugins/crypter/YoutubeComFolder.py
index d7ca494fa..a2b02b2f1 100644
--- a/module/plugins/crypter/YoutubeComFolder.py
+++ b/module/plugins/crypter/YoutubeComFolder.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.common.json_layer import json_loads
from module.plugins.Crypter import Crypter
@@ -31,7 +30,7 @@ class YoutubeComFolder(Crypter):
def api_response(self, ref, req):
req.update({"key": self.API_KEY})
- url = urljoin("https://www.googleapis.com/youtube/v3/", ref)
+ url = urlparse.urljoin("https://www.googleapis.com/youtube/v3/", ref)
html = self.load(url, get=req)
return json_loads(html)
diff --git a/module/plugins/hooks/BypassCaptcha.py b/module/plugins/hooks/BypassCaptcha.py
index 3c8f72524..9e01edfa2 100644
--- a/module/plugins/hooks/BypassCaptcha.py
+++ b/module/plugins/hooks/BypassCaptcha.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from pycurl import FORM_FILE, LOW_SPEED_TIME
+import pycurl
from module.network.HTTPRequest import BadHeader
from module.network.RequestFactory import getURL, getRequest
@@ -64,14 +64,14 @@ class BypassCaptcha(Hook):
req = getRequest()
#raise timeout threshold
- req.c.setopt(LOW_SPEED_TIME, 80)
+ req.c.setopt(pycurl.LOW_SPEED_TIME, 80)
try:
res = req.load(self.SUBMIT_URL,
post={'vendor_key': self.PYLOAD_KEY,
'key': self.getConfig('passkey'),
'gen_task_id': "1",
- 'file': (FORM_FILE, captcha)},
+ 'file': (pycurl.FORM_FILE, captcha)},
multipart=True)
finally:
req.close()
diff --git a/module/plugins/hooks/CaptchaBrotherhood.py b/module/plugins/hooks/CaptchaBrotherhood.py
index e5285a493..bda080037 100644
--- a/module/plugins/hooks/CaptchaBrotherhood.py
+++ b/module/plugins/hooks/CaptchaBrotherhood.py
@@ -5,14 +5,13 @@ from __future__ import with_statement
import StringIO
import pycurl
import time
+import urllib
try:
from PIL import Image
except ImportError:
import Image
-from urllib import urlencode
-
from module.network.RequestFactory import getURL, getRequest
from module.plugins.Hook import Hook, threaded
@@ -90,10 +89,10 @@ class CaptchaBrotherhood(Hook):
req = getRequest()
url = "%ssendNewCaptcha.aspx?%s" % (self.API_URL,
- urlencode({'username' : self.getConfig('username'),
- 'password' : self.getConfig('passkey'),
- 'captchaSource': "pyLoad",
- 'timeout' : "80"}))
+ urllib.urlencode({'username' : self.getConfig('username'),
+ 'password' : self.getConfig('passkey'),
+ 'captchaSource': "pyLoad",
+ 'timeout' : "80"}))
req.c.setopt(pycurl.URL, url)
req.c.setopt(pycurl.POST, 1)
diff --git a/module/plugins/hooks/Checksum.py b/module/plugins/hooks/Checksum.py
index 4ad17f55a..ab7daf701 100644
--- a/module/plugins/hooks/Checksum.py
+++ b/module/plugins/hooks/Checksum.py
@@ -3,12 +3,10 @@
from __future__ import with_statement
import hashlib
+import os
import re
import zlib
-from os import remove
-from os.path import getsize, isfile, splitext
-
from module.plugins.Hook import Hook
from module.utils import save_join, fs_encode
@@ -109,13 +107,13 @@ class Checksum(Hook):
#download_folder = self.config['general']['download_folder']
#local_file = fs_encode(save_join(download_folder, pyfile.package().folder, pyfile.name))
- if not isfile(local_file):
+ if not os.path.isfile(local_file):
self.checkFailed(pyfile, None, "File does not exist")
# validate file size
if "size" in data:
api_size = int(data['size'])
- file_size = getsize(local_file)
+ file_size = os.path.getsize(local_file)
if api_size != file_size:
self.logWarning(_("File %s has incorrect size: %d B (%d expected)") % (pyfile.name, file_size, api_size))
@@ -157,7 +155,7 @@ class Checksum(Hook):
retry_action = self.getConfig('retry_action')
if pyfile.plugin.retries < max_tries:
if local_file:
- remove(local_file)
+ os.remove(local_file)
pyfile.plugin.retry(max_tries, self.getConfig('wait_time'), msg)
elif retry_action == "nothing":
return
@@ -170,13 +168,13 @@ class Checksum(Hook):
download_folder = save_join(self.config['general']['download_folder'], pypack.folder, "")
for link in pypack.getChildren().itervalues():
- file_type = splitext(link['name'])[1][1:].lower()
+ file_type = os.path.splitext(link['name'])[1][1:].lower()
if file_type not in self.formats:
continue
hash_file = fs_encode(save_join(download_folder, link['name']))
- if not isfile(hash_file):
+ if not os.path.isfile(hash_file):
self.logWarning(_("File not found"), link['name'])
continue
diff --git a/module/plugins/hooks/DeathByCaptcha.py b/module/plugins/hooks/DeathByCaptcha.py
index 501de0c1a..f9618f011 100644
--- a/module/plugins/hooks/DeathByCaptcha.py
+++ b/module/plugins/hooks/DeathByCaptcha.py
@@ -2,11 +2,11 @@
from __future__ import with_statement
+import pycurl
import re
import time
from base64 import b64encode
-from pycurl import FORM_FILE, HTTPHEADER
from module.common.json_layer import json_loads
from module.network.HTTPRequest import BadHeader
@@ -74,7 +74,7 @@ class DeathByCaptcha(Hook):
def api_response(self, api="captcha", post=False, multipart=False):
req = getRequest()
- req.c.setopt(HTTPHEADER, ["Accept: application/json", "User-Agent: pyLoad %s" % self.core.version])
+ req.c.setopt(pycurl.HTTPHEADER, ["Accept: application/json", "User-Agent: pyLoad %s" % self.core.version])
if post:
if not isinstance(post, dict):
@@ -135,7 +135,7 @@ class DeathByCaptcha(Hook):
#@NOTE: Workaround multipart-post bug in HTTPRequest.py
if re.match("^\w*$", self.getConfig('passkey')):
multipart = True
- data = (FORM_FILE, captcha)
+ data = (pycurl.FORM_FILE, captcha)
else:
multipart = False
with open(captcha, 'rb') as f:
diff --git a/module/plugins/hooks/ExpertDecoders.py b/module/plugins/hooks/ExpertDecoders.py
index 79e98c020..ccd48f664 100644
--- a/module/plugins/hooks/ExpertDecoders.py
+++ b/module/plugins/hooks/ExpertDecoders.py
@@ -2,9 +2,10 @@
from __future__ import with_statement
+import pycurl
+import uuid
+
from base64 import b64encode
-from pycurl import LOW_SPEED_TIME
-from uuid import uuid4
from module.network.HTTPRequest import BadHeader
from module.network.RequestFactory import getURL, getRequest
@@ -48,7 +49,7 @@ class ExpertDecoders(Hook):
@threaded
def _processCaptcha(self, task):
- task.data['ticket'] = ticket = uuid4()
+ task.data['ticket'] = ticket = uuid.uuid4()
result = None
with open(task.captchaFile, 'rb') as f:
@@ -56,7 +57,7 @@ class ExpertDecoders(Hook):
req = getRequest()
#raise timeout threshold
- req.c.setopt(LOW_SPEED_TIME, 80)
+ req.c.setopt(pycurl.LOW_SPEED_TIME, 80)
try:
result = req.load(self.API_URL,
diff --git a/module/plugins/hooks/IRCInterface.py b/module/plugins/hooks/IRCInterface.py
index 9e2f670e6..33fde3d20 100644
--- a/module/plugins/hooks/IRCInterface.py
+++ b/module/plugins/hooks/IRCInterface.py
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
import socket
import ssl
import time
import traceback
-from pycurl import FORM_FILE
from select import select
from threading import Thread
@@ -77,7 +77,7 @@ class IRCInterface(Thread, Hook):
task.setWaiting(60)
html = getURL("http://www.freeimagehosting.net/upload.php",
- post={"attached": (FORM_FILE, task.captchaFile)}, multipart=True)
+ post={"attached": (pycurl.FORM_FILE, task.captchaFile)}, multipart=True)
url = re.search(r"\[img\]([^\[]+)\[/img\]\[/url\]", html).group(1)
self.response(_("New Captcha Request: %s") % url)
diff --git a/module/plugins/hooks/ImageTyperz.py b/module/plugins/hooks/ImageTyperz.py
index 132ab2e02..f1fcacb71 100644
--- a/module/plugins/hooks/ImageTyperz.py
+++ b/module/plugins/hooks/ImageTyperz.py
@@ -2,10 +2,10 @@
from __future__ import with_statement
+import pycurl
import re
from base64 import b64encode
-from pycurl import FORM_FILE, LOW_SPEED_TIME
from module.network.RequestFactory import getURL, getRequest
from module.plugins.Hook import Hook, threaded
@@ -76,13 +76,13 @@ class ImageTyperz(Hook):
def submit(self, captcha, captchaType="file", match=None):
req = getRequest()
#raise timeout threshold
- req.c.setopt(LOW_SPEED_TIME, 80)
+ req.c.setopt(pycurl.LOW_SPEED_TIME, 80)
try:
#@NOTE: Workaround multipart-post bug in HTTPRequest.py
if re.match("^\w*$", self.getConfig('passkey')):
multipart = True
- data = (FORM_FILE, captcha)
+ data = (pycurl.FORM_FILE, captcha)
else:
multipart = False
with open(captcha, 'rb') as f:
diff --git a/module/plugins/hooks/SkipRev.py b/module/plugins/hooks/SkipRev.py
index 157b55bbd..7901ca540 100644
--- a/module/plugins/hooks/SkipRev.py
+++ b/module/plugins/hooks/SkipRev.py
@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
import re
+import urllib
+import urlparse
from types import MethodType
-from urllib import unquote
-from urlparse import urlparse
from module.PyFile import PyFile
from module.plugins.Hook import Hook
@@ -43,7 +43,7 @@ class SkipRev(Hook):
return pyfile.pluginmodule.getInfo([pyfile.url]).next()[0]
else:
self.logWarning("Unable to grab file name")
- return urlparse(unquote(pyfile.url)).path.split('/')[-1]
+ return urlparse.urlparse(urllib.unquote(pyfile.url)).path.split('/')[-1]
def _pyfile(self, link):
diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py
index 51fdad757..2ed09f58c 100644
--- a/module/plugins/hoster/AlldebridCom.py
+++ b/module/plugins/hoster/AlldebridCom.py
@@ -1,9 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from random import randrange
-from urllib import unquote
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py
index 962c8887b..2228516aa 100644
--- a/module/plugins/hoster/BasePlugin.py
+++ b/module/plugins/hoster/BasePlugin.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
-from urlparse import urljoin, urlparse
+import urllib
+import urlparse
from module.network.HTTPRequest import BadHeader
from module.plugins.internal.SimpleHoster import create_getInfo, getFileURL
@@ -25,8 +24,8 @@ class BasePlugin(Hoster):
@classmethod
def getInfo(cls, url="", html=""): #@TODO: Move to hoster class in 0.4.10
- url = unquote(url)
- url_p = urlparse(url)
+ url = urllib.unquote(url)
+ url_p = urlparse.urlparse(url)
return {'name' : (url_p.path.split('/')[-1]
or url_p.query.split('=', 1)[::-1][0].split('&', 1)[0]
or url_p.netloc.split('.', 1)[0]),
@@ -51,7 +50,7 @@ class BasePlugin(Hoster):
for _i in xrange(5):
try:
- link = getFileURL(self, unquote(pyfile.url))
+ link = getFileURL(self, urllib.unquote(pyfile.url))
if link:
self.download(link, ref=False, disposition=True)
@@ -67,7 +66,7 @@ class BasePlugin(Hoster):
account = self.core.accountManager.getAccountPlugin('Http')
servers = [x['login'] for x in account.getAllAccounts()]
- server = urlparse(pyfile.url).netloc
+ server = urlparse.urlparse(pyfile.url).netloc
if server in servers:
self.logDebug("Logging on to %s" % server)
diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py
index cc24e351e..8559bbc36 100644
--- a/module/plugins/hoster/DepositfilesCom.py
+++ b/module/plugins/hoster/DepositfilesCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.plugins.internal.CaptchaService import ReCaptcha
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -67,7 +66,7 @@ class DepositfilesCom(SimpleHoster):
m = re.search(self.LINK_FREE_PATTERN, self.html)
if m:
- self.link = unquote(m.group(1))
+ self.link = urllib.unquote(m.group(1))
def handlePremium(self, pyfile):
diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py
index 0dc12568d..cc50f4229 100644
--- a/module/plugins/hoster/FastixRu.py
+++ b/module/plugins/hoster/FastixRu.py
@@ -1,9 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from random import randrange
-from urllib import unquote
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py
index cede2e906..330a6e3b9 100644
--- a/module/plugins/hoster/FastshareCz.py
+++ b/module/plugins/hoster/FastshareCz.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -55,8 +54,8 @@ class FastshareCz(SimpleHoster):
self.error(_("FREE_URL_PATTERN not found"))
baseurl = "http://www.fastshare.cz"
- captcha = self.decryptCaptcha(urljoin(baseurl, captcha_src))
- self.download(urljoin(baseurl, action), post={'code': captcha, 'btn.x': 77, 'btn.y': 18})
+ captcha = self.decryptCaptcha(urlparse.urljoin(baseurl, captcha_src))
+ self.download(urlparse.urljoin(baseurl, action), post={'code': captcha, 'btn.x': 77, 'btn.y': 18})
def checkFile(self, rules={}):
diff --git a/module/plugins/hoster/FileSharkPl.py b/module/plugins/hoster/FileSharkPl.py
index 9f6070806..de030be9c 100644
--- a/module/plugins/hoster/FileSharkPl.py
+++ b/module/plugins/hoster/FileSharkPl.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -78,7 +77,7 @@ class FileSharkPl(SimpleHoster):
if m is None:
self.error(_("Download url not found"))
- link = urljoin("http://fileshark.pl", m.group(1))
+ link = urlparse.urljoin("http://fileshark.pl", m.group(1))
self.html = self.load(link)
diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py
index 606fb25f0..0a9d5e2cc 100644
--- a/module/plugins/hoster/FilefactoryCom.py
+++ b/module/plugins/hoster/FilefactoryCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.network.RequestFactory import getURL
from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py
index 22ca3725a..156392c79 100644
--- a/module/plugins/hoster/FilerNet.py
+++ b/module/plugins/hoster/FilerNet.py
@@ -6,8 +6,7 @@
import pycurl
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.CaptchaService import ReCaptcha
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
diff --git a/module/plugins/hoster/FlyFilesNet.py b/module/plugins/hoster/FlyFilesNet.py
index 4420d5d60..689eb3c66 100644
--- a/module/plugins/hoster/FlyFilesNet.py
+++ b/module/plugins/hoster/FlyFilesNet.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.network.RequestFactory import getURL
from module.plugins.internal.SimpleHoster import SimpleHoster
@@ -26,7 +25,7 @@ class FlyFilesNet(SimpleHoster):
def process(self, pyfile):
name = re.search(self.NAME_PATTERN, pyfile.url).group(1)
- pyfile.name = unquote_plus(name)
+ pyfile.name = urllib.unquote_plus(name)
session = re.search(self.SESSION_PATTERN, pyfile.url).group(1)
diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py
index 77d122e8e..50128db10 100644
--- a/module/plugins/hoster/FshareVn.py
+++ b/module/plugins/hoster/FshareVn.py
@@ -2,8 +2,7 @@
import re
import time
-
-from urlparse import urljoin
+import urlparse
from module.network.RequestFactory import getURL
from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
@@ -59,7 +58,7 @@ class FshareVn(SimpleHoster):
self.checkErrors()
action, inputs = self.parseHtmlForm('frm_download')
- url = urljoin(pyfile.url, action)
+ url = urlparse.urljoin(pyfile.url, action)
if not inputs:
self.error(_("No FORM"))
diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py
index 5be380078..5258a1c27 100644
--- a/module/plugins/hoster/Ftp.py
+++ b/module/plugins/hoster/Ftp.py
@@ -2,9 +2,8 @@
import pycurl
import re
-
-from urllib import quote, unquote
-from urlparse import urlparse
+import urllib
+import urlparse
from module.plugins.Hoster import Hoster
@@ -29,12 +28,12 @@ class Ftp(Hoster):
def process(self, pyfile):
- parsed_url = urlparse(pyfile.url)
+ parsed_url = urlparse.urlparse(pyfile.url)
netloc = parsed_url.netloc
pyfile.name = parsed_url.path.rpartition('/')[2]
try:
- pyfile.name = unquote(str(pyfile.name)).decode('utf8')
+ pyfile.name = urllib.unquote(str(pyfile.name)).decode('utf8')
except Exception:
pass
@@ -67,11 +66,11 @@ class Ftp(Hoster):
#Naive ftp directory listing
if re.search(r'^25\d.*?"', self.req.http.header, re.M):
pyfile.url = pyfile.url.rstrip('/')
- pkgname = "/".join(pyfile.package().name, urlparse(pyfile.url).path.rpartition('/')[2])
+ pkgname = "/".join(pyfile.package().name, urlparse.urlparse(pyfile.url).path.rpartition('/')[2])
pyfile.url += '/'
self.req.http.c.setopt(48, 1) # CURLOPT_DIRLISTONLY
res = self.load(pyfile.url, decode=False)
- links = [pyfile.url + quote(x) for x in res.splitlines()]
+ links = [pyfile.url + urllib.quote(x) for x in res.splitlines()]
self.logDebug("LINKS", links)
self.core.api.addPackage(pkgname, links)
else:
diff --git a/module/plugins/hoster/GigapetaCom.py b/module/plugins/hoster/GigapetaCom.py
index 2fe44ca85..e4d0601fc 100644
--- a/module/plugins/hoster/GigapetaCom.py
+++ b/module/plugins/hoster/GigapetaCom.py
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
+import pycurl
+import random
import re
-from pycurl import FOLLOWLOCATION
-from random import randint
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -29,10 +28,10 @@ class GigapetaCom(SimpleHoster):
def handleFree(self, pyfile):
- captcha_key = str(randint(1, 100000000))
+ captcha_key = str(random.randint(1, 100000000))
captcha_url = "http://gigapeta.com/img/captcha.gif?x=%s" % captcha_key
- self.req.http.c.setopt(FOLLOWLOCATION, 0)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
for _i in xrange(5):
self.checkErrors()
@@ -52,7 +51,7 @@ class GigapetaCom(SimpleHoster):
else:
self.fail(_("No valid captcha code entered"))
- self.req.http.c.setopt(FOLLOWLOCATION, 1)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
def checkErrors(self):
diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py
index 2e156c464..ac0043b37 100644
--- a/module/plugins/hoster/HellshareCz.py
+++ b/module/plugins/hoster/HellshareCz.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
diff --git a/module/plugins/hoster/Keep2ShareCc.py b/module/plugins/hoster/Keep2ShareCc.py
index 65e9ddc2d..fdae65096 100644
--- a/module/plugins/hoster/Keep2ShareCc.py
+++ b/module/plugins/hoster/Keep2ShareCc.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.CaptchaService import ReCaptcha
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -100,7 +99,7 @@ class Keep2ShareCc(SimpleHoster):
m = re.search(self.CAPTCHA_PATTERN, self.html)
self.logDebug("CAPTCHA_PATTERN found %s" % m)
if m:
- captcha_url = urljoin("http://keep2s.cc/", m.group(1))
+ captcha_url = urlparse.urljoin("http://keep2s.cc/", m.group(1))
post_data['CaptchaForm[code]'] = self.decryptCaptcha(captcha_url)
else:
recaptcha = ReCaptcha(self)
diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py
index 79dbd8133..40d792e11 100644
--- a/module/plugins/hoster/LetitbitNet.py
+++ b/module/plugins/hoster/LetitbitNet.py
@@ -7,8 +7,7 @@
# http://letitbit.net/download/07874.0b5709a7d3beee2408bb1f2eefce/random.bin.html
import re
-
-from urlparse import urljoin
+import urlparse
from module.common.json_layer import json_loads, json_dumps
from module.network.RequestFactory import getURL
@@ -66,7 +65,7 @@ class LetitbitNet(SimpleHoster):
self.logDebug(action, inputs)
inputs['desc'] = ""
- self.html = self.load(urljoin("http://letitbit.net/", action), post=inputs)
+ self.html = self.load(urlparse.urljoin("http://letitbit.net/", action), post=inputs)
m = re.search(self.SECONDS_PATTERN, self.html)
seconds = int(m.group(1)) if m else 60
diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py
index 87207ab40..9c3af4ae3 100644
--- a/module/plugins/hoster/LinksnappyCom.py
+++ b/module/plugins/hoster/LinksnappyCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urlsplit
+import urlparse
from module.common.json_layer import json_loads, json_dumps
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
@@ -52,7 +51,7 @@ class LinksnappyCom(MultiHoster):
@staticmethod
def _get_host(url):
- host = urlsplit(url).netloc
+ host = urlparse.urlsplit(url).netloc
return re.search(r'[\w-]+\.\w+$', host).group(0)
diff --git a/module/plugins/hoster/MegaCoNz.py b/module/plugins/hoster/MegaCoNz.py
index 37ac12b44..aa7755af4 100644
--- a/module/plugins/hoster/MegaCoNz.py
+++ b/module/plugins/hoster/MegaCoNz.py
@@ -1,15 +1,15 @@
# -*- coding: utf-8 -*-
+import array
import os
+# import pycurl
import random
import re
-from array import array
from base64 import standard_b64decode
from Crypto.Cipher import AES
from Crypto.Util import Counter
-# from pycurl import SSL_CIPHER_LIST
from module.common.json_layer import json_loads, json_dumps
from module.plugins.Hoster import Hoster
@@ -69,10 +69,10 @@ class MegaCoNz(Hoster):
def getCipherKey(self, key):
""" Construct the cipher key from the given data """
- a = array("I", self.b64_decode(key))
+ a = array.array("I", self.b64_decode(key))
- k = array("I", (a[0] ^ a[4], a[1] ^ a[5], a[2] ^ a[6], a[3] ^ a[7]))
- iv = a[4:6] + array("I", (0, 0))
+ k = array.array("I", (a[0] ^ a[4], a[1] ^ a[5], a[2] ^ a[6], a[3] ^ a[7]))
+ iv = a[4:6] + array.array("I", (0, 0))
meta_mac = a[6:8]
return k, iv, meta_mac
@@ -82,7 +82,7 @@ class MegaCoNz(Hoster):
""" Dispatch a call to the api, see https://mega.co.nz/#developers """
# generate a session id, no idea where to obtain elsewhere
- uid = random.randint(10 << 9, 10 ** 10)
+ uid = random.random.randint(10 << 9, 10 ** 10)
res = self.load(self.API_URL, get={'id': uid}, post=json_dumps([kwargs]))
self.logDebug("Api Response: " + res)
@@ -145,7 +145,7 @@ class MegaCoNz(Hoster):
# block = chunk[i:i+16]
# if len(block) % 16:
# block += '=' * (16 - (len(block) % 16))
- # block = array("I", block)
+ # block = array.array("I", block)
# chunk_mac = [chunk_mac[0] ^ a_[0], chunk_mac[1] ^ block[1], chunk_mac[2] ^ block[2], chunk_mac[3] ^ block[3]]
# chunk_mac = aes_cbc_encrypt_a32(chunk_mac, k)
@@ -207,7 +207,7 @@ class MegaCoNz(Hoster):
pyfile.name = attr['n'] + self.FILE_SUFFIX
pyfile.size = mega['s']
- # self.req.http.c.setopt(SSL_CIPHER_LIST, "RC4-MD5:DEFAULT")
+ # self.req.http.c.setopt(pycurl.SSL_CIPHER_LIST, "RC4-MD5:DEFAULT")
self.download(mega['g'])
diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py
index 3a8d8b080..9c8cc2a90 100644
--- a/module/plugins/hoster/MegaDebridEu.py
+++ b/module/plugins/hoster/MegaDebridEu.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote_plus
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py
index 577a3d511..59fb8251e 100644
--- a/module/plugins/hoster/MegaRapidCz.py
+++ b/module/plugins/hoster/MegaRapidCz.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-from pycurl import HTTPHEADER
-
from module.network.HTTPRequest import BadHeader
from module.network.RequestFactory import getRequest
from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
@@ -11,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo
def getInfo(urls):
h = getRequest()
- h.c.setopt(HTTPHEADER,
+ h.c.setopt(pycurl.HTTPHEADER,
["Accept: text/html",
"User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"])
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)
diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py
index 5dc53ecbc..bbb77f525 100644
--- a/module/plugins/hoster/MultishareCz.py
+++ b/module/plugins/hoster/MultishareCz.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import random
import re
-from random import random
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -45,7 +44,7 @@ class MultishareCz(SimpleHoster):
if not self.checkTrafficLeft():
self.fail(_("Not enough credit left to download file"))
- self.download("http://dl%d.mms.multishare.cz/html/mms_process.php" % round(random() * 10000 * random()),
+ self.download("http://dl%d.mms.multishare.cz/html/mms_process.php" % round(random.random() * 10000 * random.random()),
get={'u_ID' : self.acc_info['u_ID'],
'u_hash': self.acc_info['u_hash'],
'link' : pyfile.url},
diff --git a/module/plugins/hoster/NarodRu.py b/module/plugins/hoster/NarodRu.py
index 65ad90d17..b7380add0 100644
--- a/module/plugins/hoster/NarodRu.py
+++ b/module/plugins/hoster/NarodRu.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import random
import re
-from random import random
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -34,7 +33,7 @@ class NarodRu(SimpleHoster):
def handleFree(self, pyfile):
for _i in xrange(5):
- self.html = self.load('http://narod.ru/disk/getcapchaxml/?rnd=%d' % int(random() * 777))
+ self.html = self.load('http://narod.ru/disk/getcapchaxml/?rnd=%d' % int(random.random() * 777))
m = re.search(self.CAPTCHA_PATTERN, self.html)
if m is None:
diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py
index 57af3f18e..cab7bd88f 100644
--- a/module/plugins/hoster/NetloadIn.py
+++ b/module/plugins/hoster/NetloadIn.py
@@ -2,8 +2,7 @@
import re
import time
-
-from urlparse import urljoin
+import urlparse
from module.network.RequestFactory import getURL
from module.plugins.Hoster import Hoster
@@ -230,7 +229,7 @@ class NetloadIn(Hoster):
page = None
else:
- url_captcha_html = urljoin("http://netload.in/", url_captcha_html)
+ url_captcha_html = urlparse.urljoin("http://netload.in/", url_captcha_html)
break
self.html = self.load(url_captcha_html)
diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py
index 934de5746..d06baa0f5 100644
--- a/module/plugins/hoster/OverLoadMe.py
+++ b/module/plugins/hoster/OverLoadMe.py
@@ -1,9 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from random import randrange
-from urllib import unquote
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/PremiumTo.py b/module/plugins/hoster/PremiumTo.py
index f48f68e1b..ab5016673 100644
--- a/module/plugins/hoster/PremiumTo.py
+++ b/module/plugins/hoster/PremiumTo.py
@@ -2,7 +2,7 @@
from __future__ import with_statement
-from os import remove
+import os
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
from module.utils import fs_encode
@@ -45,7 +45,7 @@ class PremiumTo(MultiHoster):
file = fs_encode(self.lastDownload)
with open(file, "rb") as f:
err = f.read(256).strip()
- remove(file)
+ os.remove(file)
if err:
self.fail(err)
diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py
index 893c3b6c7..1e0750b88 100644
--- a/module/plugins/hoster/QuickshareCz.py
+++ b/module/plugins/hoster/QuickshareCz.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-from pycurl import FOLLOWLOCATION
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -60,10 +59,10 @@ class QuickshareCz(SimpleHoster):
data = dict((x, self.jsvars[x]) for x in self.jsvars if x in ("ID1", "ID2", "ID3", "ID4"))
self.logDebug("FREE URL1:" + download_url, data)
- self.req.http.c.setopt(FOLLOWLOCATION, 0)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
self.load(download_url, post=data)
self.header = self.req.http.header
- self.req.http.c.setopt(FOLLOWLOCATION, 1)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
m = re.search(r'Location\s*:\s*(.+)', self.header, re.I)
if m is None:
diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py
index 2626ec925..ae74e8a63 100644
--- a/module/plugins/hoster/RapidgatorNet.py
+++ b/module/plugins/hoster/RapidgatorNet.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-from pycurl import HTTPHEADER
-
from module.common.json_layer import json_loads
from module.network.HTTPRequest import BadHeader
from module.plugins.internal.CaptchaService import AdsCaptcha, ReCaptcha, SolveMedia
@@ -102,7 +101,7 @@ class RapidgatorNet(SimpleHoster):
self.logDebug(jsvars)
self.req.http.lastURL = pyfile.url
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
url = "http://rapidgator.net%s?fid=%s" % (
jsvars.get('startTimerUrl', '/download/AjaxStartTimer'), jsvars['fid'])
@@ -115,7 +114,7 @@ class RapidgatorNet(SimpleHoster):
jsvars.update(self.getJsonResponse(url))
self.req.http.lastURL = pyfile.url
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With:"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With:"])
url = "http://rapidgator.net%s" % jsvars.get('captchaUrl', '/download/captcha')
self.html = self.load(url)
diff --git a/module/plugins/hoster/RapiduNet.py b/module/plugins/hoster/RapiduNet.py
index 8a85bc844..fcccbbebc 100644
--- a/module/plugins/hoster/RapiduNet.py
+++ b/module/plugins/hoster/RapiduNet.py
@@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
import time
-from pycurl import HTTPHEADER
-
from module.common.json_layer import json_loads
from module.plugins.internal.CaptchaService import ReCaptcha
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -40,7 +39,7 @@ class RapiduNet(SimpleHoster):
def handleFree(self, pyfile):
self.req.http.lastURL = pyfile.url
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
jsvars = self.getJsonResponse("https://rapidu.net/ajax.php",
get={'a': "getLoadTimeToDownload"},
diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py
index f35eb5e03..4500fcefc 100644
--- a/module/plugins/hoster/RealdebridCom.py
+++ b/module/plugins/hoster/RealdebridCom.py
@@ -2,9 +2,7 @@
import re
import time
-
-from random import randrange
-from urllib import unquote
+import urllib
from module.common.json_layer import json_loads
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py
index 1c53fbc92..9c07364ec 100644
--- a/module/plugins/hoster/RehostTo.py
+++ b/module/plugins/hoster/RehostTo.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from urllib import unquote
+import urllib
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py
index fea5781fe..505222fce 100644
--- a/module/plugins/hoster/ShareonlineBiz.py
+++ b/module/plugins/hoster/ShareonlineBiz.py
@@ -2,9 +2,8 @@
import re
import time
-
-from urllib import unquote
-from urlparse import urlparse
+import urllib
+import urlparse
from module.network.RequestFactory import getURL
from module.plugins.internal.CaptchaService import ReCaptcha
@@ -38,7 +37,7 @@ class ShareonlineBiz(SimpleHoster):
@classmethod
def getInfo(cls, url="", html=""):
- info = {'name': urlparse(unquote(url)).path.split('/')[-1] or _("Unknown"), 'size': 0, 'status': 3 if url else 1, 'url': url}
+ info = {'name': urlparse.urlparse(urllib.unquote(url)).path.split('/')[-1] or _("Unknown"), 'size': 0, 'status': 3 if url else 1, 'url': url}
if url:
info['pattern'] = re.match(cls.__pattern__, url).groupdict()
diff --git a/module/plugins/hoster/ShareplaceCom.py b/module/plugins/hoster/ShareplaceCom.py
index c540dd2df..babd0d1d4 100644
--- a/module/plugins/hoster/ShareplaceCom.py
+++ b/module/plugins/hoster/ShareplaceCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.plugins.Hoster import Hoster
@@ -61,7 +60,7 @@ class ShareplaceCom(Hoster):
url = re.search(r"var beer = '(.*?)';", self.html)
if url:
url = url.group(1)
- url = unquote(
+ url = urllib.unquote(
url.replace("http://http:/", "").replace("vvvvvvvvv", "").replace("lllllllll", "").replace(
"teletubbies", ""))
self.logDebug("URL: %s" % url)
diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py
index 1649abbe6..91788b2c8 100644
--- a/module/plugins/hoster/SpeedyshareCom.py
+++ b/module/plugins/hoster/SpeedyshareCom.py
@@ -4,8 +4,7 @@
# http://speedy.sh/ep2qY/Zapp-Brannigan.jpg
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py
index f4eaa90cc..7995bd0c0 100644
--- a/module/plugins/hoster/TurbobitNet.py
+++ b/module/plugins/hoster/TurbobitNet.py
@@ -1,13 +1,13 @@
# -*- coding: utf-8 -*-
+import binascii
+import pycurl
import random
import re
import time
+import urllib
from Crypto.Cipher import ARC4
-from binascii import hexlify, unhexlify
-from pycurl import HTTPHEADER
-from urllib import quote
from module.network.RequestFactory import getURL
from module.plugins.internal.CaptchaService import ReCaptcha
@@ -50,11 +50,11 @@ class TurbobitNet(SimpleHoster):
self.solveCaptcha()
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
self.html = self.load(self.getDownloadUrl(rtUpdate))
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With:"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With:"])
m = re.search(self.LINK_FREE_PATTERN, self.html)
if m:
@@ -134,7 +134,7 @@ class TurbobitNet(SimpleHoster):
for b in [1, 3]:
self.jscode = "var id = \'%s\';var b = %d;var inn = \'%s\';%sout" % (
- self.info['pattern']['ID'], b, quote(fun), rtUpdate)
+ self.info['pattern']['ID'], b, urllib.quote(fun), rtUpdate)
try:
out = self.js.eval(self.jscode)
@@ -155,8 +155,8 @@ class TurbobitNet(SimpleHoster):
def decrypt(self, data):
- cipher = ARC4.new(hexlify('E\x15\xa1\x9e\xa3M\xa0\xc6\xa0\x84\xb6H\x83\xa8o\xa0'))
- return unhexlify(cipher.encrypt(unhexlify(data)))
+ cipher = ARC4.new(binascii.hexlify('E\x15\xa1\x9e\xa3M\xa0\xc6\xa0\x84\xb6H\x83\xa8o\xa0'))
+ return binascii.unhexlify(cipher.encrypt(binascii.unhexlify(data)))
def getLocalTimeString(self):
diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py
index 14447b0b0..d090c8e7d 100644
--- a/module/plugins/hoster/UnibytesCom.py
+++ b/module/plugins/hoster/UnibytesCom.py
@@ -1,10 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-
-from urlparse import urljoin
-
-from pycurl import FOLLOWLOCATION
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -34,11 +32,11 @@ class UnibytesCom(SimpleHoster):
domain = "http://www.%s/" % self.HOSTER_DOMAIN
action, post_data = self.parseHtmlForm('id="startForm"')
- self.req.http.c.setopt(FOLLOWLOCATION, 0)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
for _i in xrange(8):
self.logDebug(action, post_data)
- self.html = self.load(urljoin(domain, action), post=post_data)
+ self.html = self.load(urlparse.urljoin(domain, action), post=post_data)
m = re.search(r'location:\s*(\S+)', self.req.http.header, re.I)
if m:
@@ -66,12 +64,12 @@ class UnibytesCom(SimpleHoster):
self.wait(m.group(1) if m else 60, False)
elif last_step in ("captcha", "last"):
- post_data['captcha'] = self.decryptCaptcha(urljoin(domain, "/captcha.jpg"))
+ post_data['captcha'] = self.decryptCaptcha(urlparse.urljoin(domain, "/captcha.jpg"))
else:
self.fail(_("No valid captcha code entered"))
- self.req.http.c.setopt(FOLLOWLOCATION, 1)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
getInfo = create_getInfo(UnibytesCom)
diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py
index 4538b1c16..9d460ef98 100644
--- a/module/plugins/hoster/UpleaCom.py
+++ b/module/plugins/hoster/UpleaCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.XFSHoster import XFSHoster, create_getInfo
@@ -48,7 +47,7 @@ class UpleaCom(XFSHoster):
if m is None:
self.error(_("STEP_PATTERN not found"))
- self.html = self.load(urljoin("http://uplea.com/", m.group(1)))
+ self.html = self.load(urlparse.urljoin("http://uplea.com/", m.group(1)))
m = re.search(self.WAIT_PATTERN, self.html)
if m:
diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py
index 6c8747b58..5c74f10eb 100644
--- a/module/plugins/hoster/UploadheroCom.py
+++ b/module/plugins/hoster/UploadheroCom.py
@@ -4,8 +4,7 @@
# http://uploadhero.co/dl/wQBRAVSM
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -44,7 +43,7 @@ class UploadheroCom(SimpleHoster):
if m is None:
self.error(_("Captcha not found"))
- captcha = self.decryptCaptcha(urljoin("http://uploadhero.co", m.group(1)))
+ captcha = self.decryptCaptcha(urlparse.urljoin("http://uploadhero.co", m.group(1)))
self.html = self.load(pyfile.url,
get={"code": captcha})
@@ -58,7 +57,7 @@ class UploadheroCom(SimpleHoster):
def checkErrors(self):
m = re.search(self.IP_BLOCKED_PATTERN, self.html)
if m:
- self.html = self.load(urljoin("http://uploadhero.co", m.group(1)))
+ self.html = self.load(urlparse.urljoin("http://uploadhero.co", m.group(1)))
m = re.search(self.IP_WAIT_PATTERN, self.html)
wait_time = (int(m.group(1)) * 60 + int(m.group(2))) if m else 5 * 60
diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py
index d0e0b1fd7..c2e0d2873 100644
--- a/module/plugins/hoster/UploadingCom.py
+++ b/module/plugins/hoster/UploadingCom.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-from pycurl import HTTPHEADER
-
from module.common.json_layer import json_loads
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, timestamp
@@ -66,7 +65,7 @@ class UploadingCom(SimpleHoster):
self.retry(6, (6 * 60 if m.group(2) else 15) * 60, pyfile.error)
ajax_url = "http://uploading.com/files/get/?ajax"
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
self.req.http.lastURL = pyfile.url
res = json_loads(self.load(ajax_url, post={'action': 'second_page', 'code': self.info['pattern']['ID']}))
diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py
index 50a45babe..f11d03ea8 100644
--- a/module/plugins/hoster/WrzucTo.py
+++ b/module/plugins/hoster/WrzucTo.py
@@ -1,9 +1,8 @@
# -*- coding: utf-8 -*-
+import pycurl
import re
-from pycurl import HTTPHEADER
-
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
@@ -35,7 +34,7 @@ class WrzucTo(SimpleHoster):
if len(data) != 2:
self.error(_("No file ID"))
- self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
+ self.req.http.c.setopt(pycurl.HTTPHEADER, ["X-Requested-With: XMLHttpRequest"])
self.req.http.lastURL = pyfile.url
self.load("http://www.wrzuc.to/ajax/server/prepair", post={"md5": data['md5']})
diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py
index 9004dbac0..a1711cb0e 100644
--- a/module/plugins/hoster/XHamsterCom.py
+++ b/module/plugins/hoster/XHamsterCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.common.json_layer import json_loads
from module.plugins.Hoster import Hoster
@@ -83,7 +82,7 @@ class XHamsterCom(Hoster):
self.logDebug("long_url = " + long_url)
else:
if flashvars['file']:
- file_url = unquote(flashvars['file'])
+ file_url = urllib.unquote(flashvars['file'])
else:
self.error(_("file_url not found"))
diff --git a/module/plugins/hoster/XVideosCom.py b/module/plugins/hoster/XVideosCom.py
index 9bb2da424..a8f291824 100644
--- a/module/plugins/hoster/XVideosCom.py
+++ b/module/plugins/hoster/XVideosCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.plugins.Hoster import Hoster
@@ -25,4 +24,4 @@ class XVideosCom(Hoster):
re.search(r"<h2>([^<]+)<span", site).group(1),
re.match(self.__pattern__, pyfile.url).group(1),
)
- self.download(unquote(re.search(r"flv_url=([^&]+)&", site).group(1)))
+ self.download(urllib.unquote(re.search(r"flv_url=([^&]+)&", site).group(1)))
diff --git a/module/plugins/hoster/Xdcc.py b/module/plugins/hoster/Xdcc.py
index b77e7c1da..d167e4cab 100644
--- a/module/plugins/hoster/Xdcc.py
+++ b/module/plugins/hoster/Xdcc.py
@@ -6,8 +6,6 @@ import struct
import sys
import time
-from os import makedirs
-from os.path import exists, join
from select import select
from module.plugins.Hoster import Hoster
diff --git a/module/plugins/hoster/YourfilesTo.py b/module/plugins/hoster/YourfilesTo.py
index fd65a6a41..d0316d3ac 100644
--- a/module/plugins/hoster/YourfilesTo.py
+++ b/module/plugins/hoster/YourfilesTo.py
@@ -1,8 +1,6 @@
# -*- coding: utf-8 -*-
-import re
-
-from urllib import unquote
+import reimport urllib
from module.plugins.Hoster import Hoster
@@ -62,7 +60,7 @@ class YourfilesTo(Hoster):
url = re.search(r"var bla = '(.*?)';", self.html)
if url:
url = url.group(1)
- url = unquote(url.replace("http://http:/http://", "http://").replace("dumdidum", ""))
+ url = urllib.unquote(url.replace("http://http:/http://", "http://").replace("dumdidum", ""))
return url
else:
self.error(_("Absolute filepath not found"))
diff --git a/module/plugins/hoster/YoutubeCom.py b/module/plugins/hoster/YoutubeCom.py
index 06f135c60..e2ab146a9 100644
--- a/module/plugins/hoster/YoutubeCom.py
+++ b/module/plugins/hoster/YoutubeCom.py
@@ -2,9 +2,7 @@
import os
import re
-import subprocess
-
-from urllib import unquote
+import subprocessimport urllib
from module.plugins.Hoster import Hoster
from module.plugins.internal.SimpleHoster import replace_patterns
@@ -117,7 +115,7 @@ class YoutubeCom(Hoster):
streams = re.search(r'"url_encoded_fmt_stream_map":"(.+?)",', html).group(1)
streams = [x.split('\u0026') for x in streams.split(',')]
streams = [dict((y.split('=', 1)) for y in x) for x in streams]
- streams = [(int(x['itag']), unquote(x['url'])) for x in streams]
+ streams = [(int(x['itag']), urllib.unquote(x['url'])) for x in streams]
# self.logDebug("Found links: %s" % streams)
diff --git a/module/plugins/hoster/ZeveraCom.py b/module/plugins/hoster/ZeveraCom.py
index e0362ce36..617e00e58 100644
--- a/module/plugins/hoster/ZeveraCom.py
+++ b/module/plugins/hoster/ZeveraCom.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin
+import urlparse
from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo
diff --git a/module/plugins/internal/CaptchaService.py b/module/plugins/internal/CaptchaService.py
index ec938079a..b6afad22a 100644
--- a/module/plugins/internal/CaptchaService.py
+++ b/module/plugins/internal/CaptchaService.py
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
+import random
import re
import time
+import urlparse
from base64 import b64encode
-from random import random, randint
-from urlparse import urljoin, urlparse
from module.common.json_layer import json_loads
from module.plugins.Plugin import Base
@@ -155,7 +155,7 @@ class ReCaptcha(CaptchaService):
self.logDebug("Time: %s" % millis)
- rand = randint(1, 99999999)
+ rand = random.randint(1, 99999999)
a = "0.%s" % str(rand * 2147483647)
rpc = int(100000000 * float(a))
@@ -167,7 +167,7 @@ class ReCaptcha(CaptchaService):
def _challenge_v2(self, key, parent=None):
if parent is None:
try:
- parent = urljoin("http://", urlparse(self.plugin.pyfile.url).netloc)
+ parent = urlparse.urljoin("http://", urlparse.urlparse(self.plugin.pyfile.url).netloc)
except Exception:
parent = ""
@@ -214,7 +214,7 @@ class ReCaptcha(CaptchaService):
self.logDebug("Result: %s" % response)
timeToSolve = int(round(time.time() * 1000)) - millis_captcha_loading
- timeToSolveMore = timeToSolve + int(float("0." + str(randint(1, 99999999))) * 500)
+ timeToSolveMore = timeToSolve + int(float("0." + str(random.randint(1, 99999999))) * 500)
html = self.plugin.req.load("https://www.google.com/recaptcha/api2/userverify",
post={'k' : key,
@@ -296,7 +296,7 @@ class AdsCaptcha(CaptchaService):
def result(self, server, challenge):
result = self.plugin.decryptCaptcha("%sChallenge.aspx" % server,
- get={'cid': challenge, 'dummy': random()},
+ get={'cid': challenge, 'dummy': random.random()},
cookies=True,
imgtype="jpg")
diff --git a/module/plugins/internal/SimpleCrypter.py b/module/plugins/internal/SimpleCrypter.py
index 892144ef4..09805cf1a 100644
--- a/module/plugins/internal/SimpleCrypter.py
+++ b/module/plugins/internal/SimpleCrypter.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urlparse import urljoin, urlparse
+import urlparse
from module.plugins.Crypter import Crypter
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, replace_patterns, set_cookies
@@ -150,10 +149,10 @@ class SimpleCrypter(Crypter, SimpleHoster):
Returns the links extracted from self.html
You should override this only if it's impossible to extract links using only the LINK_PATTERN.
"""
- url_p = urlparse(self.pyfile.url)
+ url_p = urlparse.urlparse(self.pyfile.url)
baseurl = "%s://%s" % (url_p.scheme, url_p.netloc)
- return [urljoin(baseurl, link) if not urlparse(link).scheme else link \
+ return [urlparse.urljoin(baseurl, link) if not urlparse.urlparse(link).scheme else link \
for link in re.findall(self.LINK_PATTERN, self.html)]
diff --git a/module/plugins/internal/SimpleDereferer.py b/module/plugins/internal/SimpleDereferer.py
index 743a98721..fad1559c7 100644
--- a/module/plugins/internal/SimpleDereferer.py
+++ b/module/plugins/internal/SimpleDereferer.py
@@ -1,8 +1,7 @@
# -*- coding: utf-8 -*-
import re
-
-from urllib import unquote
+import urllib
from module.plugins.Crypter import Crypter
from module.plugins.internal.SimpleHoster import getFileURL, set_cookies
@@ -49,7 +48,7 @@ class SimpleDereferer(Crypter):
if not link:
try:
- link = unquote(re.match(self.__pattern__, pyfile.url).group('LINK'))
+ link = urllib.unquote(re.match(self.__pattern__, pyfile.url).group('LINK'))
except Exception:
self.prepare()
diff --git a/module/plugins/internal/XFSAccount.py b/module/plugins/internal/XFSAccount.py
index 31d1b7e2f..41e1bde4d 100644
--- a/module/plugins/internal/XFSAccount.py
+++ b/module/plugins/internal/XFSAccount.py
@@ -2,8 +2,7 @@
import re
import time
-
-from urlparse import urljoin
+import urlparse
from module.plugins.Account import Account
from module.plugins.internal.SimpleHoster import parseHtmlForm, set_cookies
@@ -160,7 +159,7 @@ class XFSAccount(Account):
raise Exception(_("Missing HOSTER_DOMAIN"))
if not self.LOGIN_URL:
- self.LOGIN_URL = urljoin(self.HOSTER_URL, "login.html")
+ self.LOGIN_URL = urlparse.urljoin(self.HOSTER_URL, "login.html")
html = req.load(self.LOGIN_URL, decode=True)
action, inputs = parseHtmlForm('name="FL"', html)
diff --git a/module/plugins/internal/XFSHoster.py b/module/plugins/internal/XFSHoster.py
index 027e68236..33dc6d16b 100644
--- a/module/plugins/internal/XFSHoster.py
+++ b/module/plugins/internal/XFSHoster.py
@@ -1,12 +1,9 @@
# -*- coding: utf-8 -*-
+import pycurl
+import random
import re
-import time
-
-from random import random
-from urlparse import urljoin, urlparse
-
-from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME
+import urlparse
from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, secondsToMidnight
@@ -101,11 +98,11 @@ class XFSHoster(SimpleHoster):
data = self.getPostParameters()
- self.req.http.c.setopt(FOLLOWLOCATION, 0)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 0)
self.html = self.load(pyfile.url, post=data, decode=True)
- self.req.http.c.setopt(FOLLOWLOCATION, 1)
+ self.req.http.c.setopt(pycurl.FOLLOWLOCATION, 1)
m = re.search(r'Location\s*:\s*(.+)', self.req.http.header, re.I)
if m and not "op=" in m.group(1):
@@ -134,7 +131,7 @@ class XFSHoster(SimpleHoster):
action, inputs = self.parseHtmlForm()
- upload_id = "%012d" % int(random() * 10 ** 12)
+ upload_id = "%012d" % int(random.random() * 10 ** 12)
action += upload_id + "&js_on=1&utype=prem&upload_type=url"
inputs['tos'] = '1'