From 5060e4c6374a5116d0d8b02528f910f8c5f8bcf9 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 15 Jul 2014 16:25:41 +0200 Subject: Fix code indentation, some bad whitespaces and missing authors + use 'not' instead 'is None' + replace __pattern__'s r" with r' + other minor cosmetics --- module/plugins/Crypter.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index b2e6528e9..b613ff023 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -19,6 +19,7 @@ from module.plugins.Plugin import Plugin + class Crypter(Plugin): __name__ = "Crypter" __version__ = "0.1" -- cgit v1.2.3 From ba916633f2bedb04c7358000b91aed69f52e8e43 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 1 Aug 2014 19:35:59 +0200 Subject: Remove trailing whitespaces + remove license headers + import urllib methods directly + sort and fix key attributes + use save_join instead join + sort some import declarations + other minor code cosmetics --- module/plugins/Crypter.py | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index b613ff023..74ae8d102 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -1,34 +1,20 @@ # -*- coding: utf-8 -*- -""" - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, - or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see . - - @author: mkaay -""" - from module.plugins.Plugin import Plugin class Crypter(Plugin): __name__ = "Crypter" + __type__ = "crypter" __version__ = "0.1" + __pattern__ = None - __type__ = "crypter" + __description__ = """Base decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def __init__(self, pyfile): Plugin.__init__(self, pyfile) -- cgit v1.2.3 From 76c67b22c0b2dbd275fae77e8a3121acb2d4301b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 26 Sep 2014 15:39:33 +0200 Subject: Fix cookie deletion + Account support for SimpleCrypter Fix: https://github.com/pyload/pyload/issues/749 --- module/plugins/Crypter.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 74ae8d102..a4fc0e309 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -28,19 +28,16 @@ class Crypter(Plugin): self.limitDL = 0 - def preprocessing(self, thread): - """prepare""" - self.setup() - self.thread = thread - - self.decrypt(self.pyfile) - + def process(self, pyfile): + """ main method """ + self.decrypt(pyfile) self.createPackages() def decrypt(self, pyfile): raise NotImplementedError + def createPackages(self): """ create new packages from self.packages """ for pack in self.packages: -- cgit v1.2.3 From b0868ae6446078bacf1635dde5e4ab316b4a94cb Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 7 Oct 2014 18:57:59 +0200 Subject: New __authors__ key replaces __author_name__ and __author_mail__ + Whitespaces and EOF fixup --- module/plugins/Crypter.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index a4fc0e309..7cb54f5f3 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -11,8 +11,7 @@ class Crypter(Plugin): __pattern__ = None __description__ = """Base decrypter plugin""" - __author_name__ = "mkaay" - __author_mail__ = "mkaay@mkaay.de" + __authors__ = [("mkaay", "mkaay@mkaay.de")] def __init__(self, pyfile): -- cgit v1.2.3 From ae7a7e66981456e5bbe2b54006d79b6f907be7a4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 20:18:13 +0200 Subject: Add __license__ key attribute to plugins --- module/plugins/Crypter.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 7cb54f5f3..d2c6c624c 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -11,6 +11,7 @@ class Crypter(Plugin): __pattern__ = None __description__ = """Base decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de")] -- cgit v1.2.3 From c41d4ec4c5935ee702a44e919730971028bf5724 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 25 Oct 2014 01:16:52 +0200 Subject: Fix and improve plugins logging --- module/plugins/Crypter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index d2c6c624c..be6d9cbc3 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -42,7 +42,7 @@ class Crypter(Plugin): """ create new packages from self.packages """ for pack in self.packages: - self.log.debug("Parsed package %(name)s with %(len)d links" % { "name" : pack[0], "len" : len(pack[1]) } ) + self.logDebug("Parsed package %(name)s with %(len)d links" % { "name" : pack[0], "len" : len(pack[1]) } ) links = [x.decode("utf-8") for x in pack[1]] -- cgit v1.2.3 From 691c4974df7cd3305c78e518dbcbc638adc36f88 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 27 Oct 2014 23:00:44 +0100 Subject: [Crypter] Rewitten --- module/plugins/Crypter.py | 77 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 61 insertions(+), 16 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index be6d9cbc3..61cdeddc9 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -1,36 +1,45 @@ # -*- coding: utf-8 -*- from module.plugins.Plugin import Plugin +from utils import save_path class Crypter(Plugin): - __name__ = "Crypter" - __type__ = "crypter" - __version__ = "0.1" + __name__ = "Crypter" + __type__ = "crypter" + __version__ = "0.2" __pattern__ = None + __config__ = [] #: [("name", "type", "desc", "default")] __description__ = """Base decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("mkaay", "mkaay@mkaay.de")] + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] def __init__(self, pyfile): - Plugin.__init__(self, pyfile) - #: Put all packages here. It's a list of tuples like: ( name, [list of links], folder ) self.packages = [] #: List of urls, pyLoad will generate packagenames self.urls = [] - self.multiDL = True - self.limitDL = 0 + self.__config__.extend([("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]) + + Plugin.__init__(self, pyfile) def process(self, pyfile): """ main method """ + self.decrypt(pyfile) + + if self.urls: + self.generatePackages() + elif not self.packages: + self.error(_("No link extracted"), "decrypt") + self.createPackages() @@ -38,18 +47,54 @@ class Crypter(Plugin): raise NotImplementedError + def generatePackages(self): + """ generate new packages from self.urls """ + + packages = map(lambda name, links: (name, links, None), self.api.generatePackages(self.urls).iteritems()) + self.packages.extend(packages) + + def createPackages(self): """ create new packages from self.packages """ + + package_folder = self.pyfile.package().folder + package_password = self.pyfile.package().password + package_queue = self.pyfile.package().queue + + use_subfolder = self.getConfig('use_subfolder') + subfolder_per_package = self.getConfig('subfolder_per_package') + + folder_per_package = self.config['general']['folder_per_package'] + for pack in self.packages: + name, links, folder = pack - self.logDebug("Parsed package %(name)s with %(len)d links" % { "name" : pack[0], "len" : len(pack[1]) } ) + self.logDebug("Parsed package: " + name, + "%d links" % len(links), + "Saved to folder: %s" % folder if folder else "Saved to download folder") - links = [x.decode("utf-8") for x in pack[1]] + links = map(lambda x: x.decode("utf-8"), links) - pid = self.core.api.addPackage(pack[0], links, self.pyfile.package().queue) + pid = self.api.addPackage(name, links, package_queue) - if self.pyfile.package().password: - self.core.api.setPackageData(pid, {"password": self.pyfile.package().password}) + if package_password: + self.api.setPackageData(pid, {"password": package_password}) - if self.urls: - self.core.api.generateAndAddPackages(self.urls) + setFolder = lambda x: self.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to not break API addPackage method + + if use_subfolder: + if not subfolder_per_package: + setFolder(package_folder) + self.logDebug("Set package %(name)s folder to: %(folder)s" % {"name": name, "folder": folder}) + + elif not folder_per_package or name != folder: + if not folder: + folder = name.replace("http://", "").replace(":", "").replace("/", "_").replace("\\", "_") + + folder = save_path(folder) #@TODO: move to deep code checks + + setFolder(folder) + self.logDebug("Set package %(name)s folder to: %(folder)s" % {"name": name, "folder": folder}) + + elif folder_per_package: + setFolder(None) -- cgit v1.2.3 From 885f8ed782e64d9e73367905e642a84d0a8999f1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 28 Oct 2014 04:01:38 +0100 Subject: Update __config__ --- module/plugins/Crypter.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 61cdeddc9..80a838578 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -10,7 +10,8 @@ class Crypter(Plugin): __version__ = "0.2" __pattern__ = None - __config__ = [] #: [("name", "type", "desc", "default")] + __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] + ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] __description__ = """Base decrypter plugin""" __license__ = "GPLv3" @@ -24,9 +25,6 @@ class Crypter(Plugin): #: List of urls, pyLoad will generate packagenames self.urls = [] - self.__config__.extend([("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] - ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]) - Plugin.__init__(self, pyfile) -- cgit v1.2.3 From 694862a49eb7f349acca3803ada9f5f26ac6bef6 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 28 Oct 2014 17:39:40 +0100 Subject: [Crypter] Fixed --- module/plugins/Crypter.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 80a838578..87bde124b 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- from module.plugins.Plugin import Plugin -from utils import save_path +from module.utils import save_path class Crypter(Plugin): __name__ = "Crypter" __type__ = "crypter" - __version__ = "0.2" + __version__ = "0.3" __pattern__ = None __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] @@ -48,7 +48,7 @@ class Crypter(Plugin): def generatePackages(self): """ generate new packages from self.urls """ - packages = map(lambda name, links: (name, links, None), self.api.generatePackages(self.urls).iteritems()) + packages = map(lambda name, links: (name, links, None), self.core.api.generatePackages(self.urls).iteritems()) self.packages.extend(packages) @@ -73,12 +73,12 @@ class Crypter(Plugin): links = map(lambda x: x.decode("utf-8"), links) - pid = self.api.addPackage(name, links, package_queue) + pid = self.core.api.addPackage(name, links, package_queue) if package_password: - self.api.setPackageData(pid, {"password": package_password}) + self.core.api.setPackageData(pid, {"password": package_password}) - setFolder = lambda x: self.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to not break API addPackage method + setFolder = lambda x: self.core.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to not break API addPackage method if use_subfolder: if not subfolder_per_package: -- cgit v1.2.3 From 92d05c08633474af06ff5682468e7e5cf5c2f91b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 1 Nov 2014 18:47:26 +0100 Subject: [Crypter] Fix config handling --- module/plugins/Crypter.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 87bde124b..e7148e11f 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -7,7 +7,7 @@ from module.utils import save_path class Crypter(Plugin): __name__ = "Crypter" __type__ = "crypter" - __version__ = "0.3" + __version__ = "0.4" __pattern__ = None __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] @@ -59,10 +59,15 @@ class Crypter(Plugin): package_password = self.pyfile.package().password package_queue = self.pyfile.package().queue - use_subfolder = self.getConfig('use_subfolder') - subfolder_per_package = self.getConfig('subfolder_per_package') - folder_per_package = self.config['general']['folder_per_package'] + try: + use_subfolder = self.getConfig('use_subfolder') + except: + use_subfolder = folder_per_package + try: + subfolder_per_package = self.getConfig('subfolder_per_package') + except: + subfolder_per_package = True for pack in self.packages: name, links, folder = pack -- cgit v1.2.3 From 8e921a978e79d93da3036ce3bdc1fb176c74fabb Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 3 Nov 2014 12:09:04 +0100 Subject: Spare code cosmetics --- module/plugins/Crypter.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index e7148e11f..b62d0beb9 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -7,7 +7,7 @@ from module.utils import save_path class Crypter(Plugin): __name__ = "Crypter" __type__ = "crypter" - __version__ = "0.4" + __version__ = "0.05" __pattern__ = None __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] @@ -18,6 +18,9 @@ class Crypter(Plugin): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + html = None + + def __init__(self, pyfile): #: Put all packages here. It's a list of tuples like: ( name, [list of links], folder ) self.packages = [] @@ -35,6 +38,7 @@ class Crypter(Plugin): if self.urls: self.generatePackages() + elif not self.packages: self.error(_("No link extracted"), "decrypt") @@ -72,7 +76,7 @@ class Crypter(Plugin): for pack in self.packages: name, links, folder = pack - self.logDebug("Parsed package: " + name, + self.logDebug("Parsed package: %s" % name, "%d links" % len(links), "Saved to folder: %s" % folder if folder else "Saved to download folder") @@ -83,7 +87,7 @@ class Crypter(Plugin): if package_password: self.core.api.setPackageData(pid, {"password": package_password}) - setFolder = lambda x: self.core.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to not break API addPackage method + setFolder = lambda x: self.core.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to do not break API addPackage method if use_subfolder: if not subfolder_per_package: @@ -94,7 +98,7 @@ class Crypter(Plugin): if not folder: folder = name.replace("http://", "").replace(":", "").replace("/", "_").replace("\\", "_") - folder = save_path(folder) #@TODO: move to deep code checks + folder = save_path(folder) #@TODO: move to core code setFolder(folder) self.logDebug("Set package %(name)s folder to: %(folder)s" % {"name": name, "folder": folder}) -- cgit v1.2.3 From 03f3b86f500c495932fd118b54569d92f700847c Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 3 Nov 2014 16:57:55 +0100 Subject: Code cosmetics about file_info and other stuff --- module/plugins/Crypter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index b62d0beb9..8888dc4e6 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -18,7 +18,7 @@ class Crypter(Plugin): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - html = None + html = None #: last html loaded def __init__(self, pyfile): -- cgit v1.2.3 From ef4bc4b73756565e40c7453f6b71bc1021735033 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 22 Nov 2014 19:38:25 +0100 Subject: Revert plugins to stable --- module/plugins/Crypter.py | 133 +++++++++++++++++----------------------------- 1 file changed, 49 insertions(+), 84 deletions(-) (limited to 'module/plugins/Crypter.py') diff --git a/module/plugins/Crypter.py b/module/plugins/Crypter.py index 8888dc4e6..d1549fe80 100644 --- a/module/plugins/Crypter.py +++ b/module/plugins/Crypter.py @@ -1,107 +1,72 @@ # -*- coding: utf-8 -*- -from module.plugins.Plugin import Plugin -from module.utils import save_path +""" + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . + + @author: mkaay +""" +from module.plugins.Plugin import Plugin class Crypter(Plugin): - __name__ = "Crypter" - __type__ = "crypter" - __version__ = "0.05" - + __name__ = "Crypter" + __version__ = "0.1" __pattern__ = None - __config__ = [("use_subfolder", "bool", "Save package to subfolder", True), #: Overrides core.config['general']['folder_per_package'] - ("subfolder_per_package", "bool", "Create a subfolder for each package", True)] - - __description__ = """Base decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - - - html = None #: last html loaded - - + __type__ = "container" + __description__ = """Base crypter plugin""" + __author_name__ = ("mkaay") + __author_mail__ = ("mkaay@mkaay.de") + def __init__(self, pyfile): + Plugin.__init__(self, pyfile) + #: Put all packages here. It's a list of tuples like: ( name, [list of links], folder ) self.packages = [] #: List of urls, pyLoad will generate packagenames self.urls = [] - - Plugin.__init__(self, pyfile) - - - def process(self, pyfile): - """ main method """ - - self.decrypt(pyfile) - - if self.urls: - self.generatePackages() - - elif not self.packages: - self.error(_("No link extracted"), "decrypt") - + + self.multiDL = True + self.limitDL = 0 + + + def preprocessing(self, thread): + """prepare""" + self.setup() + self.thread = thread + + self.decrypt(self.pyfile) + self.createPackages() - + def decrypt(self, pyfile): raise NotImplementedError - - def generatePackages(self): - """ generate new packages from self.urls """ - - packages = map(lambda name, links: (name, links, None), self.core.api.generatePackages(self.urls).iteritems()) - self.packages.extend(packages) - - def createPackages(self): """ create new packages from self.packages """ - - package_folder = self.pyfile.package().folder - package_password = self.pyfile.package().password - package_queue = self.pyfile.package().queue - - folder_per_package = self.config['general']['folder_per_package'] - try: - use_subfolder = self.getConfig('use_subfolder') - except: - use_subfolder = folder_per_package - try: - subfolder_per_package = self.getConfig('subfolder_per_package') - except: - subfolder_per_package = True - for pack in self.packages: - name, links, folder = pack - self.logDebug("Parsed package: %s" % name, - "%d links" % len(links), - "Saved to folder: %s" % folder if folder else "Saved to download folder") + self.log.debug("Parsed package %(name)s with %(len)d links" % { "name" : pack[0], "len" : len(pack[1]) } ) + + links = [x.decode("utf-8") for x in pack[1]] + + pid = self.core.api.addPackage(pack[0], links, self.pyfile.package().queue) - links = map(lambda x: x.decode("utf-8"), links) + if self.pyfile.package().password: + self.core.api.setPackageData(pid, {"password": self.pyfile.package().password}) - pid = self.core.api.addPackage(name, links, package_queue) - - if package_password: - self.core.api.setPackageData(pid, {"password": package_password}) - - setFolder = lambda x: self.core.api.setPackageData(pid, {"folder": x or ""}) #: Workaround to do not break API addPackage method - - if use_subfolder: - if not subfolder_per_package: - setFolder(package_folder) - self.logDebug("Set package %(name)s folder to: %(folder)s" % {"name": name, "folder": folder}) - - elif not folder_per_package or name != folder: - if not folder: - folder = name.replace("http://", "").replace(":", "").replace("/", "_").replace("\\", "_") - - folder = save_path(folder) #@TODO: move to core code - - setFolder(folder) - self.logDebug("Set package %(name)s folder to: %(folder)s" % {"name": name, "folder": folder}) - - elif folder_per_package: - setFolder(None) + if self.urls: + self.core.api.generateAndAddPackages(self.urls) + -- cgit v1.2.3