Exemple #1
0
 def __decomposeName(self, name):
   from bespin import config, model
   from bespin.config import c
   session = c.sessionmaker(bind=c.dbengine)
   user_manager = model.UserManager(session)
   (username, projectname, path) = name.split("/", 2)
   user = user_manager.get_user(username)
   project = model.get_project(user, user, projectname)
   return (project, path)
Exemple #2
0
    def wrapped(environ, start_response):
        from bespin import model
        session = c.sessionmaker(bind=c.dbengine)
        environ['bespin.dbsession'] = session
        environ['bespin.docommit'] = True
        environ['user_manager'] = model.UserManager(session)
        try:
            # If you need to work out what <script> tags to insert into a
            # page to get Dojo to behave properly, then uncomment these 3
            # path_info = environ["PATH_INFO"]
            # if path_info.endswith(".js"):
            #     print "<script type='text/javascript' src='%s'></script>" % path_info

            result = app(environ, start_response)
            if environ['bespin.docommit']:
                session.commit()
            else:
                session.rollback()
        except:
            session.rollback()
            log.exception("Error raised during request: %s", environ)
            raise
        return result