def render(self): """Return a string containing the generated file""" self.classnames = [] self.classnames.append(self.Table['name']) self.classnames.append(self.Table['name'] + 'Container') self.classnames.append(self.Table['name'] + '_dublincore') self.classnames.append(self.Table['name'] + 'ContainerNameChooser') file_content = self.templates.GenFile(self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.filename(), file_content, format="python") file_content = self.templates.GenStorageFile(self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.storage_filename(), file_content, format="python") # configure.zcml entries self.genConfiguration() # Tests self.genTests()
def genTests(self): """Generate the tests - these files are not replaced if they exist""" if not z3gen_utilities.FileExists(self.DSLModel, self.Table, self.tests_filename()): file_content = self.test_templates.GenTestLoader( self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.tests_filename(), file_content, format="python") if not z3gen_utilities.FileExists(self.DSLModel, self.Table, self.doctests_filename()): file_content = self.test_templates.GenDocTests( self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.doctests_filename(), file_content, format="doctest")
def render(self): """Generate the required files""" file_content = self.templates.GenFile(self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.filename(), file_content, format="python") # configure.zcml entries self.genConfiguration() # Write out the template - don't do it if it already exists TemplatesPath = "%s%s%s%stemplates" % ( self.DSLModel['GENERAL']['target_folder'], os.sep, self.Table['name'], os.sep) TemplateFile = TemplatesPath + os.sep + 'list.pt' if not os.path.exists(TemplateFile): template_content = self.templates.GenTemplate( self.DSLModel, self.Table, self) fh = open(TemplateFile, 'w') fh.write(template_content) fh.close()
def render(self): """Return a string containing the generated file""" self.classnames = [] self.classnames.append(self.Table['name']) file_content = self.templates.GenFile(self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB).replace('\\"""', '"""') z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.filename(), file_content, format="python")
def render(self): """Return a string containing the generated file""" rv = [] self.classnames=[] self.classnames.append('Add') self.classnames.append('Edit') self.classnames.append('View') file_content = self.templates.GenFile(self.DSLModel, self.Table, self) file_content = file_content.replace('\t', TAB) z3gen_utilities.ReplaceFile(self.DSLModel, self.Table, self.filename(), file_content, format="python") # configure.zcml entries self.genConfiguration()
z3gen_utilities.BuildPath(DSLModel, Table) z3gen_utilities.AddNewPackage(DSLModel['GENERAL']['target_folder'], Table['name'], DSLModel['GENERAL']['namespace']) Table['config'] = [] # The generators can put configuration stuff here # These are the important generators - they output their own files for generator in GENERATORS: view = generator(DSLModel, Table) view.render() content = templates.literal.db_file(DSLModel, Table) z3gen_utilities.ReplaceFile(DSLModel, Table, 'db.py', content, format="python") content = templates.literal.config_file(DSLModel, Table) z3gen_utilities.ReplaceFile(DSLModel, Table, 'configure.zcml', content, format="zcml") content = templates.literal.init_file(DSLModel, Table) z3gen_utilities.ReplaceFile(DSLModel, Table, '__init__.py', content,