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)
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