def create_initial_structure(self): if not os.path.exists(self.project_name): os.mkdir(self.project_name) report_info("[Create] ./{}/\n".format(self.project_name)) else: error = "Ops! Directory already exists\n" error_description = "We cannot create {} structure.\n" report_error(error + error_description.format(self.project_name)) sys.exit(1)
def create_template_config(self): template_config_dir = '{}/template_config'.format(self.theme) template_file = os.path.join(TEMPLATES_DIR, template_config_dir) template = self.get_template(template_file) rendered = template.render({'project_name': self.project_name, 'template_vars': self.variables}) with open(os.path.join(self.project_name, 'config.yml'), "w") as f: f.write(rendered) report_info("[Create] ./{}/config.yml\n".format(self.project_name))
def create_templates(self, structure, config): project_dir = "./" template_dir = os.path.join(TEMPLATES_DIR, self.theme) for directory in structure: if directory == "root": project_template_dir = project_dir else: project_template_dir = os.path.join(project_dir, directory) templates = structure.get(directory) templates = [] if templates is None else templates for file in templates: file_dir = os.path.join(project_template_dir, file) template = self.get_template(os.path.join(template_dir, file)) rendered = template.render(config) with codecs.open(file_dir, "w", encoding='utf-8') as f: f.write(rendered) report_info("[Create] {}\n".format(file_dir))
def create_directory_structure(self): for directory in self.structure: if directory != "root": os.mkdir(os.path.join(self.project_name, directory)) report_info("[Create] ./{}/{}\n".format(self.project_name, directory))