data = Myro.ask(data, "New Language Details") if data is None: raise Exception("Language Creation Aborted") def mkdirs(path): # missing in IronPython os? parts = os.path.split(path) root = "" for part in parts: root = os.path.join(root, part) if not os.path.exists(root): os.mkdir(root) data_dir = os.path.join(calico.path, "..", "data") if (Myro.askQuestion("Where do you want to put your language?", ["Calico Global Languages", "My Local Languages"]) == "Calico Global Languages"): dest_dir = os.path.join(calico.path, "..", "languages") else: dest_dir = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData) dest_dir = os.path.join(dest_dir, "calico", "languages") fp = open(os.path.join(data_dir, "CalicoPython.py")) language_text = "".join(fp.readlines()) fp.close() fp = open(os.path.join(data_dir, "SyntaxMode.xml")) syntax_text = "".join(fp.readlines()) fp.close() mkdirs(os.path.join(dest_dir, data["name"], "SyntaxModes")) mkdirs(os.path.join(dest_dir, data["name"], "examples"))