summaryrefslogtreecommitdiffstats
path: root/module/plugins/container
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/container')
-rw-r--r--module/plugins/container/CCF.py35
-rw-r--r--module/plugins/container/DLC_25.pycbin8340 -> 8346 bytes
-rw-r--r--module/plugins/container/DLC_26.pycbin8313 -> 8319 bytes
-rw-r--r--module/plugins/container/DLC_27.pycbin8237 -> 8243 bytes
-rw-r--r--module/plugins/container/LinkList.py24
-rw-r--r--module/plugins/container/RSDF.py35
6 files changed, 55 insertions, 39 deletions
diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py
index 8aec97f6a..bca535175 100644
--- a/module/plugins/container/CCF.py
+++ b/module/plugins/container/CCF.py
@@ -1,24 +1,31 @@
# -*- coding: utf-8 -*-
+from __future__ import with_statement
+
import re
+
+from os import makedirs
+from os.path import exists
from urllib2 import build_opener
+from MultipartPostHandler import MultipartPostHandler
+
from module.plugins.Container import Container
-from module.lib.MultipartPostHandler import MultipartPostHandler
+from module.utils import save_join
-from os import makedirs
-from os.path import exists, join
class CCF(Container):
- __name__ = "CCF"
- __version__ = "0.2"
+ __name__ = "CCF"
+ __version__ = "0.20"
+
__pattern__ = r'.+\.ccf'
+
__description__ = """CCF container decrypter plugin"""
- __author_name__ = "Willnix"
- __author_mail__ = "Willnix@pyload.org"
+ __license__ = "GPLv3"
+ __authors__ = [("Willnix", "Willnix@pyload.org")]
- def decrypt(self, pyfile):
+ def decrypt(self, pyfile):
infile = pyfile.url.replace("\n", "")
opener = build_opener(MultipartPostHandler)
@@ -28,13 +35,9 @@ class CCF(Container):
tempdlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php', params).read()
download_folder = self.config['general']['download_folder']
- location = download_folder #join(download_folder, pyfile.package().folder.decode(sys.getfilesystemencoding()))
- if not exists(location):
- makedirs(location)
- tempdlc_name = join(location, "tmp_%s.dlc" % pyfile.name)
- tempdlc = open(tempdlc_name, "w")
- tempdlc.write(re.search(r'<dlc>(.*)</dlc>', tempdlc_content, re.DOTALL).group(1))
- tempdlc.close()
+ tempdlc_name = save_join(download_folder, "tmp_%s.dlc" % pyfile.name)
+ with open(tempdlc_name, "w") as tempdlc:
+ tempdlc.write(re.search(r'<dlc>(.*)</dlc>', tempdlc_content, re.S).group(1))
- self.packages.append((tempdlc_name, [tempdlc_name], tempdlc_name))
+ self.urls = [tempdlc_name]
diff --git a/module/plugins/container/DLC_25.pyc b/module/plugins/container/DLC_25.pyc
index b8fde0051..409264902 100644
--- a/module/plugins/container/DLC_25.pyc
+++ b/module/plugins/container/DLC_25.pyc
Binary files differ
diff --git a/module/plugins/container/DLC_26.pyc b/module/plugins/container/DLC_26.pyc
index 41a4e0cb8..685995fc2 100644
--- a/module/plugins/container/DLC_26.pyc
+++ b/module/plugins/container/DLC_26.pyc
Binary files differ
diff --git a/module/plugins/container/DLC_27.pyc b/module/plugins/container/DLC_27.pyc
index a6bffaf74..6c6d663e5 100644
--- a/module/plugins/container/DLC_27.pyc
+++ b/module/plugins/container/DLC_27.pyc
Binary files differ
diff --git a/module/plugins/container/LinkList.py b/module/plugins/container/LinkList.py
index 79678954d..c6173ad73 100644
--- a/module/plugins/container/LinkList.py
+++ b/module/plugins/container/LinkList.py
@@ -1,18 +1,24 @@
# -*- coding: utf-8 -*-
import codecs
-from module.utils import fs_encode
+
from module.plugins.Container import Container
+from module.utils import fs_encode
+
class LinkList(Container):
- __name__ = "LinkList"
+ __name__ = "LinkList"
__version__ = "0.12"
+
__pattern__ = r'.+\.txt'
- __description__ = """Read link lists in txt format"""
__config__ = [("clear", "bool", "Clear Linklist after adding", False),
("encoding", "string", "File encoding (default utf-8)", "")]
- __author_name__ = ("spoob", "jeix")
- __author_mail__ = ("spoob@pyload.org", "jeix@hasnomail.com")
+
+ __description__ = """Read link lists in txt format"""
+ __license__ = "GPLv3"
+ __authors__ = [("spoob", "spoob@pyload.org"),
+ ("jeix", "jeix@hasnomail.com")]
+
def decrypt(self, pyfile):
try:
@@ -20,9 +26,6 @@ class LinkList(Container):
except:
file_enc = "utf-8"
- print repr(pyfile.url)
- print pyfile.url
-
file_name = fs_encode(pyfile.url)
txt = codecs.open(file_name, 'r', file_enc)
@@ -33,7 +36,8 @@ class LinkList(Container):
for link in links:
link = link.strip()
- if not link: continue
+ if not link:
+ continue
if link.startswith(";"):
continue
@@ -61,7 +65,7 @@ class LinkList(Container):
txt = open(file_name, 'wb')
txt.close()
except:
- self.log.warning(_("LinkList could not be cleared."))
+ self.logWarning(_("LinkList could not be cleared"))
for name, links in packages.iteritems():
self.packages.append((name, links, name))
diff --git a/module/plugins/container/RSDF.py b/module/plugins/container/RSDF.py
index 42296f2d5..0c43f0e6c 100644
--- a/module/plugins/container/RSDF.py
+++ b/module/plugins/container/RSDF.py
@@ -1,24 +1,32 @@
# -*- coding: utf-8 -*-
+from __future__ import with_statement
+
import base64
import binascii
import re
from module.plugins.Container import Container
+from module.utils import fs_encode
+
class RSDF(Container):
- __name__ = "RSDF"
- __version__ = "0.21"
+ __name__ = "RSDF"
+ __version__ = "0.24"
+
__pattern__ = r'.+\.rsdf'
+
__description__ = """RSDF container decrypter plugin"""
- __author_name__ = ("RaNaN", "spoob")
- __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org")
+ __license__ = "GPLv3"
+ __authors__ = [("RaNaN", "RaNaN@pyload.org"),
+ ("spoob", "spoob@pyload.org")]
+
def decrypt(self, pyfile):
from Crypto.Cipher import AES
- infile = pyfile.url.replace("\n", "")
+ infile = fs_encode(pyfile.url.replace("\n", ""))
Key = binascii.unhexlify('8C35192D964DC3182C6F84F3252239EB4A320D2500000000')
IV = binascii.unhexlify('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF')
@@ -27,21 +35,22 @@ class RSDF(Container):
obj = AES.new(Key, AES.MODE_CFB, IV)
- rsdf = open(infile, 'r')
-
- data = rsdf.read()
- rsdf.close()
+ try:
+ with open(infile, 'r') as rsdf:
+ data = rsdf.read()
+ except IOError, e:
+ self.fail(str(e))
if re.search(r"<title>404 - Not Found</title>", data) is None:
data = binascii.unhexlify(''.join(data.split()))
data = data.splitlines()
- links = []
for link in data:
+ if not link:
+ continue
link = base64.b64decode(link)
link = obj.decrypt(link)
decryptedUrl = link.replace('CCF: ', '')
- links.append(decryptedUrl)
+ self.urls.append(decryptedUrl)
- self.log.debug("%s: adding package %s with %d links" % (self.__name__,pyfile.package().name,len(links)))
- self.packages.append((pyfile.package().name, links))
+ self.logDebug("Adding package %s with %d links" % (pyfile.package().name, len(self.urls)))