From 7bec354973580216c64889b925e1f7d6a224d7dd Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 25 Jul 2011 03:03:12 +0200 Subject: more abstraction, and changed the name of the outputed file --- lib/parser.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'lib/parser.py') diff --git a/lib/parser.py b/lib/parser.py index ba4981d..11e776e 100644 --- a/lib/parser.py +++ b/lib/parser.py @@ -13,10 +13,12 @@ import mimetypes import mat -POSTFIX = ".cleaned" +NOMETA = ('*.txt', '*.bmp', '*.py') class Generic_parser(object): def __init__(self, realname, filename, parser, editor, backup, add2archive): + basename, ext = os.path.splitext(filename) + self.output = basename + '.cleaned.' + ext self.filename = filename #path + filename self.realname = realname #path + filename self.shortname = os.path.basename(filename) #only filename @@ -41,10 +43,8 @@ class Generic_parser(object): for field in self.editor: if self._should_remove(field): self._remove(field.name) - hachoir_core.field.writeIntoFile(self.editor, self.filename + POSTFIX) - if self.backup is False: - mat.secure_remove(self.filename) #remove the old file - os.rename(self.filename+ POSTFIX, self.filename) #rename the new + hachoir_core.field.writeIntoFile(self.editor, self.output) + self.do_backup() def remove_all_ugly(self): ''' @@ -73,7 +73,7 @@ class Generic_parser(object): try: metadata[field.name] = field.value except: - metadata[field.name] = "harmful content" + metadata[field.name] = 'harmful content' return metadata def _should_remove(self, key): @@ -82,3 +82,11 @@ class Generic_parser(object): abstract method ''' raise NotImplementedError() + + def do_backup(self): + ''' + Do a backup of the file if asked + ''' + if self.backup is False: + mat.secure_remove(self.filename) + os.rename(self.output, self.filename) -- cgit v1.3