diff options
| author | jvoisin | 2011-07-26 21:12:58 +0200 |
|---|---|---|
| committer | jvoisin | 2011-07-26 21:12:58 +0200 |
| commit | c3ce1dd99ec1671d50a7cf89dc1b287fbbdf96aa (patch) | |
| tree | 0d3a39a19938d6ddcc84c2a6b77937340b020afa /lib | |
| parent | 446cb258ce93a73e62c1a19779c9d67e0457412f (diff) | |
Simplification of the __init__() method
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/archive.py | 21 | ||||
| -rw-r--r-- | lib/audio.py | 3 | ||||
| -rw-r--r-- | lib/mat.py | 9 | ||||
| -rw-r--r-- | lib/office.py | 8 | ||||
| -rw-r--r-- | lib/parser.py | 22 |
5 files changed, 33 insertions, 30 deletions
diff --git a/lib/archive.py b/lib/archive.py index 1aaf74b..f9e4dba 100644 --- a/lib/archive.py +++ b/lib/archive.py | |||
| @@ -14,10 +14,9 @@ class GenericArchiveStripper(parser.GenericParser): | |||
| 14 | ''' | 14 | ''' |
| 15 | Represent a generic archive | 15 | Represent a generic archive |
| 16 | ''' | 16 | ''' |
| 17 | def __init__(self, realname, filename, parser, editor, backup, | 17 | def __init__(self, filename, parser, mime, backup, add2archive): |
| 18 | add2archive): | 18 | super(GenericArchiveStripper, self).__init__(filename, parser, mime, |
| 19 | super(GenericArchiveStripper, self).__init__(realname, | 19 | backup, add2archive) |
| 20 | filename, parser, editor, backup, add2archive) | ||
| 21 | self.compression = '' | 20 | self.compression = '' |
| 22 | self.add2archive = add2archive | 21 | self.add2archive = add2archive |
| 23 | self.tempdir = tempfile.mkdtemp() | 22 | self.tempdir = tempfile.mkdtemp() |
| @@ -254,10 +253,9 @@ class GzipStripper(TarStripper): | |||
| 254 | ''' | 253 | ''' |
| 255 | Represent a tar.gz archive | 254 | Represent a tar.gz archive |
| 256 | ''' | 255 | ''' |
| 257 | def __init__(self, realname, filename, parser, editor, backup, | 256 | def __init__(self, filename, parser, mime, backup, add2archive): |
| 258 | add2archive): | 257 | super(GzipStripper, self).__init__(filename, parser, mime, backup, |
| 259 | super(GzipStripper, self).__init__(realname, | 258 | add2archive) |
| 260 | filename, parser, editor, backup, add2archive) | ||
| 261 | self.compression = ':gz' | 259 | self.compression = ':gz' |
| 262 | 260 | ||
| 263 | 261 | ||
| @@ -265,8 +263,7 @@ class Bzip2Stripper(TarStripper): | |||
| 265 | ''' | 263 | ''' |
| 266 | Represents a tar.bz2 archive | 264 | Represents a tar.bz2 archive |
| 267 | ''' | 265 | ''' |
| 268 | def __init__(self, realname, filename, parser, editor, backup, | 266 | def __init__(self, filename, parser, mime, backup, add2archive): |
| 269 | add2archive): | 267 | super(Bzip2Stripper, self).__init__(filename, parser, mime, backup, |
| 270 | super(Bzip2Stripper, self).__init__(realname, | 268 | add2archive) |
| 271 | filename, parser, editor, backup, add2archive) | ||
| 272 | self.compression = ':bz2' | 269 | self.compression = ':bz2' |
diff --git a/lib/audio.py b/lib/audio.py index d77efd9..d146fad 100644 --- a/lib/audio.py +++ b/lib/audio.py | |||
| @@ -10,3 +10,6 @@ class MpegAudioStripper(parser.GenericParser): | |||
| 10 | return True | 10 | return True |
| 11 | else: | 11 | else: |
| 12 | return False | 12 | return False |
| 13 | |||
| 14 | class FlacStripper(parser.GenericParser): | ||
| 15 | pass | ||
| @@ -11,7 +11,6 @@ import mimetypes | |||
| 11 | 11 | ||
| 12 | import hachoir_core.cmd_line | 12 | import hachoir_core.cmd_line |
| 13 | import hachoir_parser | 13 | import hachoir_parser |
| 14 | import hachoir_editor | ||
| 15 | 14 | ||
| 16 | import images | 15 | import images |
| 17 | import audio | 16 | import audio |
| @@ -39,7 +38,7 @@ STRIPPERS = { | |||
| 39 | 38 | ||
| 40 | try: | 39 | try: |
| 41 | import mutagen | 40 | import mutagen |
| 42 | STRIPPERS[hachoir_parser.audio.FlacParser] = audio.FlacStripper | 41 | STRIPPERS['audio/x-flac'] = audio.FlacStripper |
| 43 | except ImportError: | 42 | except ImportError: |
| 44 | print('unable to import python-mutagen : limited audio format support') | 43 | print('unable to import python-mutagen : limited audio format support') |
| 45 | 44 | ||
| @@ -85,7 +84,6 @@ def create_class_file(name, backup, add2archive): | |||
| 85 | logging.info('Unable to parse %s' % filename) | 84 | logging.info('Unable to parse %s' % filename) |
| 86 | return | 85 | return |
| 87 | 86 | ||
| 88 | editor = hachoir_editor.createEditor(parser) | ||
| 89 | mime = parser.mime_type | 87 | mime = parser.mime_type |
| 90 | 88 | ||
| 91 | if mime.startswith('application/vnd.oasis.opendocument'): | 89 | if mime.startswith('application/vnd.oasis.opendocument'): |
| @@ -94,8 +92,7 @@ def create_class_file(name, backup, add2archive): | |||
| 94 | try: | 92 | try: |
| 95 | stripper_class = STRIPPERS[mime] | 93 | stripper_class = STRIPPERS[mime] |
| 96 | except KeyError: | 94 | except KeyError: |
| 97 | logging.info('Don\'t have stripper for format %s' % editor.description) | 95 | logging.info('Don\'t have stripper for %s\' format' % filename) |
| 98 | return | 96 | return |
| 99 | 97 | ||
| 100 | return stripper_class(realname, filename, parser, editor, backup, | 98 | return stripper_class(filename, parser, mime, backup, add2archive) |
| 101 | add2archive) | ||
diff --git a/lib/office.py b/lib/office.py index 5fa475d..00fce3c 100644 --- a/lib/office.py +++ b/lib/office.py | |||
| @@ -89,8 +89,8 @@ class OpenDocumentStripper(archive.GenericArchiveStripper): | |||
| 89 | return False | 89 | return False |
| 90 | except KeyError: # no meta.xml in the file | 90 | except KeyError: # no meta.xml in the file |
| 91 | zipin.close() | 91 | zipin.close() |
| 92 | czf = archive.ZipStripper(self.realname, self.filename, | 92 | czf = archive.ZipStripper(self.filename, self.parser, |
| 93 | self.parser, self.editor, self.backup, self.add2archive) | 93 | 'application/zip', self.backup, self.add2archive) |
| 94 | if czf.is_clean(): | 94 | if czf.is_clean(): |
| 95 | return True | 95 | return True |
| 96 | else: | 96 | else: |
| @@ -102,14 +102,14 @@ class PdfStripper(parser.GenericParser): | |||
| 102 | ''' | 102 | ''' |
| 103 | Represent a pdf file, with the help of pdfrw | 103 | Represent a pdf file, with the help of pdfrw |
| 104 | ''' | 104 | ''' |
| 105 | def __init__(self, filename, realname, backup): | 105 | def __init__(self, filename, parser, mime, backup, add2archive): |
| 106 | name, ext = os.path.splitext(filename) | 106 | name, ext = os.path.splitext(filename) |
| 107 | self.output = name + '.cleaned' + ext | 107 | self.output = name + '.cleaned' + ext |
| 108 | self.filename = filename | 108 | self.filename = filename |
| 109 | self.backup = backup | 109 | self.backup = backup |
| 110 | self.realname = realname | 110 | self.realname = realname |
| 111 | self.shortname = os.path.basename(filename) | 111 | self.shortname = os.path.basename(filename) |
| 112 | self.mime = mimetypes.guess_type(filename)[0] | 112 | self.mime = mime |
| 113 | self.tempdir = tempfile.mkdtemp() | 113 | self.tempdir = tempfile.mkdtemp() |
| 114 | self.trailer = pdfrw.PdfReader(self.filename) | 114 | self.trailer = pdfrw.PdfReader(self.filename) |
| 115 | self.writer = pdfrw.PdfWriter() | 115 | self.writer = pdfrw.PdfWriter() |
diff --git a/lib/parser.py b/lib/parser.py index ae647fe..385dd78 100644 --- a/lib/parser.py +++ b/lib/parser.py | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | ''' | 3 | ''' |
| 4 | 4 | ||
| 5 | import hachoir_core | 5 | import hachoir_core |
| 6 | import hachoir_editor | ||
| 6 | 7 | ||
| 7 | import os | 8 | import os |
| 8 | import mimetypes | 9 | import mimetypes |
| @@ -13,17 +14,22 @@ NOMETA = ('.bmp', 'html', '.py', '.rdf', '.txt', '.xml') | |||
| 13 | 14 | ||
| 14 | 15 | ||
| 15 | class GenericParser(object): | 16 | class GenericParser(object): |
| 16 | def __init__(self, realname, filename, parser, editor, backup, | 17 | def __init__(self, filename, parser, mime, backup, add2archive): |
| 17 | add2archive): | 18 | self.filename = '' |
| 19 | self.parser = parser | ||
| 20 | self.mime = mime | ||
| 21 | self.backup = backup | ||
| 22 | self.editor = hachoir_editor.createEditor(parser) | ||
| 23 | self.realname = filename | ||
| 24 | try: | ||
| 25 | self.filename = hachoir_core.cmd_line.unicodeFilename(filename) | ||
| 26 | except TypeError: # get rid of "decoding Unicode is not supported" | ||
| 27 | self.filename = filename | ||
| 18 | basename, ext = os.path.splitext(filename) | 28 | basename, ext = os.path.splitext(filename) |
| 19 | self.output = basename + '.cleaned' + ext | 29 | self.output = basename + '.cleaned' + ext |
| 20 | self.filename = filename # path + filename | ||
| 21 | self.realname = realname # path + filename | ||
| 22 | self.basename = os.path.basename(filename) # only filename | 30 | self.basename = os.path.basename(filename) # only filename |
| 23 | self.mime = mimetypes.guess_type(filename)[0] # mimetype | 31 | |
| 24 | self.parser = parser | 32 | |
| 25 | self.editor = editor | ||
| 26 | self.backup = backup | ||
| 27 | 33 | ||
| 28 | def is_clean(self): | 34 | def is_clean(self): |
| 29 | ''' | 35 | ''' |
