Esempio n. 1
0
    def generateZope3Interface(self, element, template, **kw):
        log.info("%sGenerating zope3 interface '%s'.", '        ',
                 element.getName())

        templ = utils.readTemplate(template)
        d = {
            'klass': element,
            'generator': self,
            'parsed_class': element.parsed_class,
            'builtins': __builtins__,
            'utils': utils,
        }
        d.update(__builtins__)
        d.update(kw)
        res = HTML(templ, d)()
        return res
Esempio n. 2
0
    def generateZopeClass(self, element, template, nolog=False, **kw):
        if not nolog:
            log.info("%sGenerating Zope class '%s'.", ' ' * 4 * self.infoind,
                     element.getName())

        templ = utils.readTemplate(template)
        d = {
            'klass': element,
            'generator': self,
            'parsed_class': element.parsed_class,
            'builtins': __builtins__,
            'utils': utils,
        }
        d.update(__builtins__)
        d.update(kw)
        res = HTML(templ, d)()
        return res
Esempio n. 3
0
 def get(self, md5hash):
     """Instantiate a current user instance of the User model and 
     render the html/adminentry.html page if this user is an administrator.
     
     :postcondition:  a redirection to the logout page if user is not admin.
     :postcondition:  a rendered version of the html/adminentry.html page if the user is admin.
     """
     curuser = models.User(self)
     admin = models.Admin(self)
     if not curuser.is_admin():
         self.redirect("/logout")
     else:
         items = {}
         items["useSSL"] = useSSL
         items["name"] = curuser.get_email()
         items["assignment"] = admin.get_assignment(md5hash)
         items["tasks"] = curuser.get_tasks(md5hash)        
         items["next"] = len(items["tasks"]) + 1
         items["testTemplate"] = utils.readTemplate("testTemplate.py")
         
         self.render('html/adminentry.html', title="ADM server", items=items)
Esempio n. 4
0
def get_source_template():
    return readTemplate("testRunTemplate.py")
Esempio n. 5
0
    def generateWorkflows(self):
        statemachines = self.package.getStateMachines()
        if not statemachines:
            return

        d = {
            'package': self.package,
            'generator': self,
            'wfgenerator': self,
            'atgenerator': self.atgenerator,
            'builtins': __builtins__,
            'utils' :utils,
        }
        d.update(__builtins__)

        extDir = os.path.join(self.package.getFilePath(), 'Extensions')
        self.atgenerator.makeDir(extDir)

        for sm in statemachines:
            d['statemachine'] = sm
            sm_name = utils.cleanName(sm.getName())

            # Generate workflow script
            log.info("Generating workflow '%s'.", sm_name)
            templ = utils.readTemplate('create_workflow.py')
            scriptpath = os.path.join(extDir, sm_name + '.py')
            filesrc = self.atgenerator.readFile(scriptpath) or ''
            parsedModule = PyModule(filesrc, mode='string')
            d['parsedModule'] = parsedModule
            dtml = HTML(templ, d)
            res = dtml()
            of = self.atgenerator.makeFile(scriptpath)
            of.write(res)
            of.close()

            # Generate workflow transition script, if any
            if sm.getAllTransitionActionNames():
                log.info("Generating workflow script(s).")
                templ = utils.readTemplate('create_workflow_script.py')
                scriptpath = os.path.join(extDir, sm_name + '_scripts.py')
                filesrc = self.atgenerator.readFile(scriptpath) or ''
                parsedModule = PyModule(filesrc, mode='string')
                d['parsedModule'] = parsedModule
                dtml = HTML(templ, d)
                res = dtml()
                of = self.atgenerator.makeFile(scriptpath)
                of.write(res)
                of.close()
            else:
                log.info("Workflow %s has no script(s)." % sm_name)

        del d['statemachine']
        log.debug("Creating InstallWorkflows.py file.")
        templ = utils.readTemplate('InstallWorkflows.py')
        scriptpath = os.path.join(extDir, 'InstallWorkflows.py')
        filesrc = self.atgenerator.readFile(scriptpath) or ''
        parsedModule = PyModule(filesrc, mode='string')
        d['parsedModule'] = parsedModule
        dtml = HTML(templ, d)
        res = dtml()
        of = self.atgenerator.makeFile(scriptpath)
        of.write(res)
        of.close()