diff -r e1eecf4d390d -r 593a8820b912 sbsv2/raptor/python/plugins/filter_clean.py --- a/sbsv2/raptor/python/plugins/filter_clean.py Mon Nov 16 09:46:46 2009 +0000 +++ b/sbsv2/raptor/python/plugins/filter_clean.py Mon Nov 16 20:39:37 2009 +0000 @@ -51,17 +51,23 @@ if self.removeTargets: if line.startswith(""): - self.doFile(line) - elif line.startswith(""): - self.doDirectory(line) + self.doFile(line, "file") + elif line.startswith(""): + self.doFile(line, "build") + elif line.startswith(""): + self.doFile(line, "resource") + elif line.startswith(""): + self.doFile(line, "bitmap") + elif line.startswith(""): + self.doFile(line, "stringtable") if self.removeExports: if line.startswith(""): - self.doMember(line) + self.doFile(line, "member") elif line.startswith(""): - self.doZipMarker(line) + self.doFile(line, "zipmarker") return self.ok @@ -81,9 +87,10 @@ if os.path.isfile(path): self.removeFile(path) - - elif os.path.isdir(path): - dirs.add(path) + + directory = os.path.dirname(path) + if os.path.isdir(directory): + dirs.add(directory) self.tmp.close() # this also deletes the temporary file except: @@ -123,47 +130,20 @@ self.ok = False - def doFile(self, line): - "remove filenames in tags immediately (not .d or .dep)." - filename = line[6:-7] # line is "filename - filename = filename.strip("\"\'") # some names are quoted + def doFile(self, line, tagname): + "deal with X" - # dependency files must be deleted at the end, - # everything else can be deleted straight away. - if filename.endswith(".d") or filename.endswith(".dep"): - self.saveItem(filename) - else: - if os.path.isfile(filename): - self.removeFile(filename) - + first = len(tagname) + 2 # line is "filename + last = -(first + 1) + filename = line[first:last] + filename = filename.strip("\"\'") # some names are quoted + self.saveItem(filename) + - def doDirectory(self, line): - "save directories in tags for the end." - # assuming X - dirname = line[5:-6] - self.saveItem(dirname.strip("\"\'")) - - def doExport(self, line): - "save exported files in tags for the end." - # assuming + "deal with " filename = line[21:line.find("'", 21)] self.saveItem(filename) - - - def doMember(self, line): - "save zip exports in tags for the end." - # assuming X - filename = line[8:-9] - self.saveItem(filename) - - - def doZipMarker(self, line): - "Remove file in tags" - # assuming X - filename = line[11:-12] - if os.path.isfile(filename): - self.removeFile(filename) # the end