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