def clone_github_repo(self, settings, dbrepo_id): dburl = settings['sqlalchemy.url'] sessionmaker = make_postgresql_session(dburl) session = sessionmaker() user_id = int(settings['default.github.user_id']) mgr = GHRepoManager(session, user_id) mgr.set_repo_path(settings['default.github.repo_path']) dbrepo = mgr.get(dbrepo_id) repo = mgr.clone_repo(dbrepo) return repo
class BaseRepoView(BaseResource): def __init__(self, request): super(BaseRepoView, self).__init__(request) settings = self.get_app_settings() user_id = int(settings['default.github.user_id']) self.mgr = GHRepoManager(request.db, user_id) self.mgr.set_repo_path(settings['default.github.repo_path']) self.mgr.set_github_client(settings['github_client']) self.taskmgr = TenyuTaskManager(request.db) def serialize_object(self, dbobj): return self.mgr.serialize('ignore', dbobj=dbobj) def get(self): id = self.request.matchdict['id'] return self.mgr.serialize(id) def put(self): id = self.request.matchdict['id'] raise NotImplementedError, "do something"