コード例 #1
0
    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()
コード例 #2
0
    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")
コード例 #3
0
    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()
コード例 #4
0
    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")
コード例 #5
0
    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()
コード例 #6
0
    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,