def createAndComplete(self, **options): if not os.path.exists(self.fromPath): safe_mkdir(self.fromPath) root = self.root or self.fromPath self.file = self.projectSettingsFile(root) optionChanged = [ 1 for key in self.persistent_options if options.get(key) ] if optionChanged or not os.path.exists(self.file): with open(self.file, "w") as pio: json.dump( { "pytex": { "version": get_version(), "options": dict((key, options.get(key)) for key in self.persistent_options) } }, pio, indent=4) self.root = root return self.complete(**options)
def createAndComplete(self, **options): if not os.path.exists(self.fromPath): safe_mkdir(self.fromPath) root = self.root or self.fromPath self.file = self.projectSettingsFile(root) optionChanged = [ 1 for key in self.persistent_options if options.get(key) ] if optionChanged or not os.path.exists(self.file): with open(self.file,"w") as pio: json.dump( { "pytex" : { "version" : get_version(), "options" : dict((key, options.get(key)) for key in self.persistent_options) } }, pio , indent = 4 ) self.root = root return self.complete(**options)
def render_folder(self, fromPath, toPath, **args): for child in os.listdir(fromPath): fullChild = os.path.join(fromPath, child) if os.path.isdir(fullChild): dest = os.path.join(toPath, child) if toPath else child safe_mkdir(os.path.join(self.project_root, dest)) self.render_folder(fullChild, dest, **args) elif os.path.isfile(fullChild): self.render_file(fromPath, toPath, child, **args) return os.path.join(self.project_root, toPath)
def render_folder(self, fromPath, toPath, **args): for child in os.listdir(fromPath): fullChild = os.path.join(fromPath,child) if os.path.isdir(fullChild): dest = os.path.join(toPath,child) if toPath else child safe_mkdir(os.path.join(self.project_root,dest)) self.render_folder(fullChild,dest,**args) elif os.path.isfile(fullChild): self.render_file( fromPath, toPath, child, **args ) return os.path.join(self.project_root,toPath)
def copy_templates(self): self.log(1, "COPY TEMPLATES") self.log(1, "- from %s" % self.template) self.log(1, "- to %s" % self.template) safe_mkdir(self.project_templates_path) for tmpl in ["_common", self.template]: self.render_folder(os.path.join(PYTEX_TEMPLATES_PATH, tmpl), self.TEMPLATES_FOLDER, rule={"overwrite": True}) self.create_project_tree() settings = self.render_file(self.project_templates_path, self.SETTINGS_FOLDER, "config.json")[0] env = self.load_json(settings) if env.get("settings_todo"): self.log(0, "Don't forget to update : %s" % settings) for key in env["settings_todo"].keys(): self.log(0, " - {0}".format(key))
def copy_templates(self): self.log(1, "COPY TEMPLATES") self.log(1, "- from %s" % self.template) self.log(1, "- to %s" % self.template) safe_mkdir(self.project_templates_path) for tmpl in [ "_common" , self.template ]: self.render_folder( os.path.join(PYTEX_TEMPLATES_PATH, tmpl), self.TEMPLATES_FOLDER, rule = { "overwrite" : True } ) self.create_project_tree() settings = self.render_file(self.project_templates_path, self.SETTINGS_FOLDER, "config.json")[0] env = self.load_json(settings) if env.get("settings_todo"): self.log(0,"Don't forget to update : %s" % settings) for key in env["settings_todo"].keys(): self.log(0," - {0}".format(key))