diff options
Diffstat (limited to 'module/plugins/Plugin.py')
-rw-r--r-- | module/plugins/Plugin.py | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/module/plugins/Plugin.py b/module/plugins/Plugin.py index 68b2311b3..15bf3971f 100644 --- a/module/plugins/Plugin.py +++ b/module/plugins/Plugin.py @@ -1,5 +1,22 @@ # -*- 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 <http://www.gnu.org/licenses/>. + + @author: RaNaN, spoob, mkaay +""" + from time import time, sleep from random import randint @@ -16,7 +33,6 @@ from itertools import islice from module.utils import save_join, save_path, fs_encode, fs_decode - def chunks(iterable, size): it = iter(iterable) item = list(islice(it, size)) @@ -126,17 +142,14 @@ class Plugin(Base): Overwrite `process` / `decrypt` in your subclassed plugin. """ __name__ = "Plugin" - __type__ = "hoster" __version__ = "0.4" - __pattern__ = None + __type__ = "hoster" __config__ = [("name", "type", "desc", "default")] - - __description__ = """Base plugin""" + __description__ = """Base Plugin""" __author_name__ = ("RaNaN", "spoob", "mkaay") __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org", "mkaay@mkaay.de") - def __init__(self, pyfile): Base.__init__(self, pyfile.m.core) @@ -194,8 +207,8 @@ class Plugin(Base): def getChunkCount(self): if self.chunkLimit <= 0: - return self.config['download']['chunks'] - return min(self.config['download']['chunks'], self.chunkLimit) + return self.config["download"]["chunks"] + return min(self.config["download"]["chunks"], self.chunkLimit) def __call__(self): return self.__name__ @@ -250,7 +263,7 @@ class Plugin(Base): def setWait(self, seconds, reconnect=False): """Set a specific wait time later used with `wait` - + :param seconds: wait time in seconds :param reconnect: True if a reconnect would avoid wait time """ @@ -326,7 +339,7 @@ class Plugin(Base): :param result_type: 'textual' if text is written on the captcha\ or 'positional' for captcha where the user have to click\ on a specific region on the captcha - + :return: result of decrypting """ @@ -465,12 +478,12 @@ class Plugin(Base): location = save_join(download_folder, self.pyfile.package().folder) if not exists(location): - makedirs(location, int(self.core.config['permission']['folder'], 8)) + makedirs(location, int(self.core.config["permission"]["folder"], 8)) - if self.core.config['permission']['change_dl'] and os.name != "nt": + if self.core.config["permission"]["change_dl"] and os.name != "nt": try: - uid = getpwnam(self.config['permission']['user'])[2] - gid = getgrnam(self.config['permission']['group'])[2] + uid = getpwnam(self.config["permission"]["user"])[2] + gid = getgrnam(self.config["permission"]["group"])[2] chown(location, uid, gid) except Exception, e: @@ -498,13 +511,13 @@ class Plugin(Base): fs_filename = fs_encode(filename) - if self.core.config['permission']['change_file']: - chmod(fs_filename, int(self.core.config['permission']['file'], 8)) + if self.core.config["permission"]["change_file"]: + chmod(fs_filename, int(self.core.config["permission"]["file"], 8)) - if self.core.config['permission']['change_dl'] and os.name != "nt": + if self.core.config["permission"]["change_dl"] and os.name != "nt": try: - uid = getpwnam(self.config['permission']['user'])[2] - gid = getgrnam(self.config['permission']['group'])[2] + uid = getpwnam(self.config["permission"]["user"])[2] + gid = getgrnam(self.config["permission"]["group"])[2] chown(fs_filename, uid, gid) except Exception, e: @@ -515,7 +528,7 @@ class Plugin(Base): def checkDownload(self, rules, api_size=0, max_size=50000, delete=True, read_size=0): """ checks the content of the last downloaded file, re match is saved to `lastCheck` - + :param rules: dict with names and rules to match (compiled regexp or strings) :param api_size: expected file size :param max_size: if the file is larger then it wont be checked |