コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
 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
コード例 #4
0
ファイル: find-missing.py プロジェクト: portnov/krita-bundler
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)
コード例 #5
0
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)