Create new packages from self.packages
(self)
| 62 | self.packages.extend(packages) |
| 63 | |
| 64 | def _create_packages(self): |
| 65 | """ |
| 66 | Create new packages from self.packages |
| 67 | """ |
| 68 | pack_folder = self.pyfile.package().folder |
| 69 | pack_password = self.pyfile.package().password |
| 70 | pack_queue = self.pyfile.package().queue |
| 71 | |
| 72 | folder_per_package = self.config.get('folder_per_package', "Default") |
| 73 | |
| 74 | if folder_per_package == "Default": |
| 75 | folder_per_package = self.pyload.config.get('general', 'folder_per_package') |
| 76 | else: |
| 77 | folder_per_package = folder_per_package == "Yes" |
| 78 | |
| 79 | for name, links, folder in self.packages: |
| 80 | name = decode(name) |
| 81 | self.log_info(_("Create package: %s") % name, |
| 82 | _("%d links") % len(links)) |
| 83 | |
| 84 | links = map(self.fixurl, links) |
| 85 | self.log_debug("LINKS for package " + name, *links) |
| 86 | |
| 87 | pid = self.pyload.api.addPackage(name, links, pack_queue) |
| 88 | |
| 89 | if pack_password: |
| 90 | self.pyload.api.setPackageData(pid, {'password': pack_password}) |
| 91 | |
| 92 | #: Workaround to do not break API addPackage method |
| 93 | set_folder = lambda x: self.pyload.api.setPackageData(pid, {'folder': safepath(x or "")}) |
| 94 | |
| 95 | if not folder_per_package: |
| 96 | folder = pack_folder |
| 97 | |
| 98 | elif not folder or folder == name: |
| 99 | folder = parse_name(name) |
| 100 | |
| 101 | self.log_info(_("Save package `%(name)s` to folder: %(folder)s") |
| 102 | % {'name': name, 'folder': folder}) |
| 103 | |
| 104 | set_folder(folder) |
no test coverage detected