diff options
Diffstat (limited to 'MAT/parser.py')
| -rw-r--r-- | MAT/parser.py | 19 |
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 | ||
| 24 | class GenericParser(object): | 24 | class 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) |
