def copyTheme()

in tools/DuplicateThemes.py [0:0]


def copyTheme(src: str, dest: str, name: str = None, scheme: str = None):
    source = None
    try:
        source = open(src, "r", encoding = "UTF-8", newline = "")
        destination = open(dest, mode = "w", encoding = "UTF-8", newline = "")

        theme = json.load(source)
        if name:
            theme["name"] = name
        if scheme:
            theme["editorScheme"] = scheme
        json.dump(
            {"commentary": "This document is auto-generated, do not edit manually", **theme},
            destination,
            indent = 2)
    except IOError as e:
        if source:
            print("'{0}': {1} (I/O error({2}))".format(dest, e.strerror, e.errno))
        else:
            print("'{0}': {1} (I/O error({2}))".format(src, e.strerror, e.errno))
    except json.JSONDecodeError:
        logging.warning(src + " is not a valid JSON file")

    pass