def get_git_path_info(path): path_split = path.split("/") git_name = path_split[1] # raw path: project_id.git if git_name.endswith('.git'): project = Project.get_by_name(git_name[:-4]) if project: path_split[1] = "%s.git" % project.id return '/'.join(path_split) else: owner_name, git_name = path_split[1:3] # user project: user/project.git user = User.get_by_name(owner_name) if user: project = Project.get_by_name_and_owner(git_name[:-4], user.id) if project: path_split[1] = "" path_split[2] = "%s.git" % project.id return '/'.join(path_split[1:]) return # org project: org/project.git org = Organization.get_by_name(owner_name) if org: project = Project.get_by_name_and_owner(git_name[:-4], user.id) if project: path_split[1] = "" path_split[2] = "%s.git" % project.id return '/'.join(path_split[1:])
def _q_lookup(request, part): p = Project.get_by_name(part) if p: return ProjectUI(p) raise TraversalError
def _q_lookup(self, request, part): project = Project.get_by_name(part) if project: return ProjectUI(project) raise TraversalError
def _q_lookup(self, request, name): project = Project.get_by_name(name) if project: return ProjectUI(project) raise errors.NotFoundError('project %s', name)