summaryrefslogtreecommitdiff
path: root/MAT/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'MAT/parser.py')
-rw-r--r--MAT/parser.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/MAT/parser.py b/MAT/parser.py
index c57eb00..c1c3f4c 100644
--- a/MAT/parser.py
+++ b/MAT/parser.py
@@ -22,8 +22,7 @@ FIELD = object()
22 22
23 23
24class GenericParser(object): 24class GenericParser(object):
25 ''' 25 ''' Parent class of all parsers
26 Parent class of all parsers
27 ''' 26 '''
28 def __init__(self, filename, parser, mime, backup, is_writable, **kwargs): 27 def __init__(self, filename, parser, mime, backup, is_writable, **kwargs):
29 self.filename = '' 28 self.filename = ''
@@ -66,8 +65,7 @@ class GenericParser(object):
66 return True 65 return True
67 66
68 def remove_all(self): 67 def remove_all(self):
69 ''' 68 ''' Remove all compromising fields
70 Remove all compromising fields
71 ''' 69 '''
72 state = self._remove_all(self.editor) 70 state = self._remove_all(self.editor)
73 hachoir_core.field.writeIntoFile(self.editor, self.output) 71 hachoir_core.field.writeIntoFile(self.editor, self.output)
@@ -75,8 +73,7 @@ class GenericParser(object):
75 return state 73 return state
76 74
77 def _remove_all(self, fieldset): 75 def _remove_all(self, fieldset):
78 ''' 76 ''' Recursive way to handle tree metadatas
79 Recursive way to handle tree metadatas
80 ''' 77 '''
81 try: 78 try:
82 for field in fieldset: 79 for field in fieldset:
@@ -90,8 +87,7 @@ class GenericParser(object):
90 return False 87 return False
91 88
92 def _remove(self, fieldset, field): 89 def _remove(self, fieldset, field):
93 ''' 90 ''' Delete the given field
94 Delete the given field
95 ''' 91 '''
96 del fieldset[field] 92 del fieldset[field]
97 93
@@ -104,8 +100,7 @@ class GenericParser(object):
104 return metadata 100 return metadata
105 101
106 def _get_meta(self, fieldset, metadata): 102 def _get_meta(self, fieldset, metadata):
107 ''' 103 ''' Recursive way to handle tree metadatas
108 Recursive way to handle tree metadatas
109 ''' 104 '''
110 for field in fieldset: 105 for field in fieldset:
111 remove = self._should_remove(field) 106 remove = self._should_remove(field)
@@ -119,7 +114,7 @@ class GenericParser(object):
119 114
120 def _should_remove(self, key): 115 def _should_remove(self, key):
121 ''' 116 '''
122 return True if the field is compromising 117 Return True if the field is compromising
123 abstract method 118 abstract method
124 ''' 119 '''
125 raise NotImplementedError 120 raise NotImplementedError
@@ -137,7 +132,7 @@ class GenericParser(object):
137 but it greatly simplify new strippers implementation. 132 but it greatly simplify new strippers implementation.
138 ''' 133 '''
139 if self.backup: 134 if self.backup:
140 os.rename(self.filename, self.filename + '.bak') 135 shutil.move(self.filename, self.filename + '.bak')
141 else: 136 else:
142 mat.secure_remove(self.filename) 137 mat.secure_remove(self.filename)
143 os.rename(self.output, self.filename) 138 os.rename(self.output, self.filename)