summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjvoisin2013-07-16 11:48:32 +0200
committerjvoisin2013-07-16 11:48:32 +0200
commit08f63cd4debf8868d274e14da5c39d24963190d3 (patch)
treeeec0cbc807fb6156631674966f16d9bce166ae42
parent39eb67a929ed2f5626e360b6ad76e52fceeb0198 (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.
-rw-r--r--MAT/parser.py20
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
19FIELD = object() 19FIELD = 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)