#!/usr/bin/python from unidiff import PatchSet import sys import os patch = PatchSet.from_filename(sys.argv[1], encoding='utf-8') newpatch = PatchSet("") for f in patch: if "/firmware/" in f.source_file: print "Removing " + f.source_file else: newpatch.append(f) basename = os.path.basename(sys.argv[1]) dirpath = '/'.join(sys.argv[1].split('/')[:-1]) try: os.makedirs(os.path.join(dirpath, "libre"), 0755) except: pass f = open(os.path.join(dirpath, "libre", basename), "wb") f.write(str(newpatch) + "\n") f.close()