summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/Crypter.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/internal/Crypter.py')
-rw-r--r--module/plugins/internal/Crypter.py67
1 files changed, 30 insertions, 37 deletions
diff --git a/module/plugins/internal/Crypter.py b/module/plugins/internal/Crypter.py
index 157ce5dab..596bbcfb4 100644
--- a/module/plugins/internal/Crypter.py
+++ b/module/plugins/internal/Crypter.py
@@ -1,20 +1,19 @@
# -*- coding: utf-8 -*-
-from module.plugins.internal.Base import Base, create_getInfo, parse_fileInfo
-from module.plugins.internal.utils import fixname, parse_name
+from module.plugins.internal.Base import Base
+from module.plugins.internal.misc import parse_name, safename
class Crypter(Base):
__name__ = "Crypter"
__type__ = "crypter"
- __version__ = "0.14"
+ __version__ = "0.16"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
- __config__ = [("activated" , "bool", "Activated" , True),
- ("use_premium" , "bool", "Use premium account if available" , True),
- ("use_subfolder" , "bool", "Save package to subfolder" , True), #: Overrides pyload.config.get("general", "folder_per_package")
- ("subfolder_per_package", "bool", "Create a subfolder for each package", True)]
+ __config__ = [("activated" , "bool" , "Activated" , True ),
+ ("use_premium" , "bool" , "Use premium account if available", True ),
+ ("folder_per_package", "Default;Yes;No", "Create folder for each package" , "Default")]
__description__ = """Base decrypter plugin"""
__license__ = "GPLv3"
@@ -23,18 +22,15 @@ class Crypter(Base):
def init_base(self):
self.packages = [] #: Put all packages here. It's a list of tuples like: ( name, [list of links], folder )
- self.links = [] #: List of urls, pyLoad will generate packagenames
+ self.links = [] #: List of urls, pyLoad will generate packagenames
def setup_base(self):
self.packages = []
- self.links = []
+ self.links = []
def process(self, pyfile):
- """
- Main method
- """
self.decrypt(pyfile)
if self.links:
@@ -57,7 +53,8 @@ class Crypter(Base):
"""
Generate new packages from self.links
"""
- packages = [(name, links, None) for name, links in self.pyload.api.generatePackages(self.links).items()]
+ pdict = self.pyload.api.generatePackages(self.links)
+ packages = [(name, links, parse_name(name)) for name, links in pdict.items()]
self.packages.extend(packages)
@@ -65,41 +62,37 @@ class Crypter(Base):
"""
Create new packages from self.packages
"""
- package_folder = self.pyfile.package().folder
- package_password = self.pyfile.package().password
- package_queue = self.pyfile.package().queue
+ pack_folder = self.pyfile.package().folder
+ pack_password = self.pyfile.package().password
+ pack_queue = self.pyfile.package().queue
+
+ folder_per_package = self.config.get('folder_per_package', "Default")
- folder_per_package = self.pyload.config.get("general", "folder_per_package")
- use_subfolder = self.get_config('use_subfolder', folder_per_package)
- subfolder_per_package = self.get_config('subfolder_per_package', True)
+ if folder_per_package is "Default":
+ folder_per_package = self.pyload.config.get("general", "folder_per_package")
for name, links, folder in self.packages:
- self.log_info(_("Parsed package: %s") % name,
- _("Found %d links") % len(links),
- _("Saved to folder: %s") % folder if folder else _("Saved to default download folder"))
+ self.log_info(_("Create package: %s") % name,
+ _("%d links") % len(links))
links = map(self.fixurl, links)
self.log_debug("LINKS for package " + name, *links)
- pid = self.pyload.api.addPackage(name, links, package_queue)
+ pid = self.pyload.api.addPackage(name, links, pack_queue)
- if package_password:
- self.pyload.api.setPackageData(pid, {'password': package_password})
+ if pack_password:
+ self.pyload.api.setPackageData(pid, {'password': pack_password})
#: Workaround to do not break API addPackage method
- set_folder = lambda x="": self.pyload.api.setPackageData(pid, {'folder': fixname(x)})
+ set_folder = lambda x: self.pyload.api.setPackageData(pid, {'folder': safename(x or "")})
- if use_subfolder:
- if not subfolder_per_package:
- set_folder(package_folder)
- self.log_debug("Set package %(name)s folder to: %(folder)s" % {'name': name, 'folder': folder})
+ if not folder_per_package:
+ folder = pack_folder
- elif not folder_per_package or name is not folder:
- if not folder:
- folder = parse_name(name)
+ elif not folder or folder == name:
+ folder = parse_name(name)
- set_folder(folder)
- self.log_debug("Set package %(name)s folder to: %(folder)s" % {'name': name, 'folder': folder})
+ self.log_info(_("Save package `%(name)s` to folder: %(folder)s")
+ % {'name': name, 'folder': folder})
- elif folder_per_package:
- set_folder()
+ set_folder(folder)