diff options
| author | jvoisin | 2013-07-16 11:48:32 +0200 |
|---|---|---|
| committer | jvoisin | 2013-07-16 11:48:32 +0200 |
| commit | 08f63cd4debf8868d274e14da5c39d24963190d3 (patch) | |
| tree | eec0cbc807fb6156631674966f16d9bce166ae42 /MAT/parser.py | |
| parent | 39eb67a929ed2f5626e360b6ad76e52fceeb0198 (diff) | |
.bak instead of .cleaned.
The MAT can now keep a .bak file, instead of producing a
.cleaned. one. Thanks to Alan for the idea.
Diffstat (limited to 'MAT/parser.py')
| -rw-r--r-- | MAT/parser.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/MAT/parser.py b/MAT/parser.py index d6b7faf..66b9c79 100644 --- a/MAT/parser.py +++ b/MAT/parser.py | |||
| @@ -13,7 +13,7 @@ NOMETA = ('.bmp', # image | |||
| 13 | '.rdf', # text | 13 | '.rdf', # text |
| 14 | '.txt', # plain text | 14 | '.txt', # plain text |
| 15 | '.xml', # formated text (XML) | 15 | '.xml', # formated text (XML) |
| 16 | '.rels', # openXML formated text | 16 | '.rels', # openXML formated text |
| 17 | ) | 17 | ) |
| 18 | 18 | ||
| 19 | FIELD = object() | 19 | FIELD = object() |
| @@ -29,14 +29,12 @@ class GenericParser(object): | |||
| 29 | self.mime = mime | 29 | self.mime = mime |
| 30 | self.backup = backup | 30 | self.backup = backup |
| 31 | self.editor = hachoir_editor.createEditor(parser) | 31 | self.editor = hachoir_editor.createEditor(parser) |
| 32 | self.realname = filename | ||
| 33 | try: | 32 | try: |
| 34 | self.filename = hachoir_core.cmd_line.unicodeFilename(filename) | 33 | self.filename = hachoir_core.cmd_line.unicodeFilename(filename) |
| 35 | except TypeError: # get rid of "decoding Unicode is not supported" | 34 | except TypeError: # get rid of "decoding Unicode is not supported" |
| 36 | self.filename = filename | 35 | self.filename = filename |
| 37 | basename, ext = os.path.splitext(filename) | 36 | # basename, ext = os.path.splitext(filename) |
| 38 | self.output = basename + '.cleaned' + ext | 37 | self.output = filename + '.tmp' |
| 39 | self.basename = os.path.basename(filename) # only filename | ||
| 40 | 38 | ||
| 41 | def is_clean(self): | 39 | def is_clean(self): |
| 42 | ''' | 40 | ''' |
| @@ -118,9 +116,13 @@ class GenericParser(object): | |||
| 118 | 116 | ||
| 119 | def do_backup(self): | 117 | def do_backup(self): |
| 120 | ''' | 118 | ''' |
| 121 | Do a backup of the file if asked, | 119 | Keep a backup of the file if asked. |
| 122 | and change his creation/access date | 120 | |
| 121 | The process of double-renaming is not very elegant, | ||
| 122 | but it greatly simplify new strippers implementation. | ||
| 123 | ''' | 123 | ''' |
| 124 | if not self.backup: | 124 | if self.backup: |
| 125 | os.rename(self.filename, self.filename + '.bak') | ||
| 126 | else: | ||
| 125 | mat.secure_remove(self.filename) | 127 | mat.secure_remove(self.filename) |
| 126 | os.rename(self.output, self.filename) | 128 | os.rename(self.output, self.filename) |
