diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-10-14 20:54:06 +0200 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-10-14 20:54:06 +0200 |
commit | 0fcf2d26f00dbdd849be511fb5b657c4f505b6bc (patch) | |
tree | cebaad2676dbe6d37259baabdc07efd08b1a7a72 /module/plugins/internal | |
parent | improved extract plugin (diff) | |
download | pyload-0fcf2d26f00dbdd849be511fb5b657c4f505b6bc.tar.xz |
simple unzip plugin
Diffstat (limited to 'module/plugins/internal')
-rw-r--r-- | module/plugins/internal/UnZip.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/module/plugins/internal/UnZip.py b/module/plugins/internal/UnZip.py new file mode 100644 index 000000000..dc60c1041 --- /dev/null +++ b/module/plugins/internal/UnZip.py @@ -0,0 +1,49 @@ +# -*- 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 +""" + +import zipfile +import sys + +from module.plugins.hooks.ExtractArchive import AbtractExtractor + +class UnZip(AbtractExtractor): + __name__ = "UnZip" + __version__ = "0.1" + + @staticmethod + def checkDeps(): + return sys.version_info[:2] >= (2, 6) + + @staticmethod + def getTargets(files_ids): + result = [] + + for file, id in files_ids: + if file.endswith(".zip"): + result.append((file, id)) + + return result + + def extract(self, progress, password=None): + z = zipfile.ZipFile(self.file) + self.files = z.namelist() + z.extractall(self.out) + + def getDeleteFiles(self): + return [self.file]
\ No newline at end of file |