def process(filename, rtypes=None): if not rtypes: rtypes = ['requiredBrushFile'] def process_kpp(kpp, bundle=None): links = kpp.get_links() for name, value in links.iteritems(): if bundle is not None: if name not in rtypes: continue if name == 'requiredBrushFile': ok = bundle.find_brush(value) if ok: print("required brush file {} found in the same bundle.".format(value)) continue if not value: continue print(u"{}: {}".format(name, value).encode('utf-8')) if filename.endswith(".bundle"): bundle = Bundle.open(filename) presets = bundle.presets_data else: bundle = None presets = [KPP(filename)] for preset in presets: process_kpp(preset, bundle)
def process(filename, rtypes=None): if not rtypes: rtypes = ['requiredBrushFile'] def process_kpp(kpp, bundle=None): links = kpp.get_links() for name, value in links.iteritems(): if bundle is not None: if name not in rtypes: continue if name == 'requiredBrushFile': ok = bundle.find_brush(value) if ok: print( "required brush file {} found in the same bundle.". format(value)) continue if not value: continue print(u"{}: {}".format(name, value).encode('utf-8')) if filename.endswith(".bundle"): bundle = Bundle.open(filename) presets = bundle.presets_data else: bundle = None presets = [KPP(filename)] for preset in presets: process_kpp(preset, bundle)
def process(filename): if filename.endswith(".bundle"): bundle = Bundle.open(filename) presets = bundle.presets_data else: presets = [KPP(filename)] result = [] for kpp in presets: result.extend(process_kpp(kpp)) return result
def find_used(bundle_path): def process_kpp(kpp): links = kpp.get_links() requiredBrushFile = links.get('requiredBrushFile', None) if requiredBrushFile: return [requiredBrushFile] else: return [] bundle = Bundle.open(bundle_path) presets = bundle.presets_data used = [] for kpp in presets: used.extend(process_kpp(kpp)) result = [brush for brush in used if not bundle.find_brush(brush)] return set(result)
from extractor import KPP from bundle import Bundle def parse_cmdline(): parser = argparse.ArgumentParser(description="Add resource (preset, brush tip or pattern) to the bundle.") parser.add_argument('bundle', metavar='FILE.BUNDLE', help="Path to bundle file to operate on") #subparsers = parser.add_subparsers(help="type of resource to be added") parser.add_argument('type', metavar='TYPE', help="Type of resource to be added: preset, brush or pattern.") parser.add_argument('path', metavar='FILENAME', nargs=argparse.REMAINDER, help="File to be added to the bundle") return parser.parse_args() if __name__ == '__main__': args = parse_cmdline() #print(args) bundle = Bundle.open(args.bundle) shutil.copy(args.bundle, args.bundle+'.bak') if args.type == 'brush': bundle.add_brushes(args.bundle, args.path) elif args.type == 'preset': bundle.add_presets(args.bundle, args.path) elif args.type == 'pattern': bundle.add_patterns(args.bundle, args.path) else: print("Unknown resource type specified. Valid resource types are: brush, preset, pattern.") sys.exit(1)