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 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_index(request): context = {} current_user = request.user if current_user and request.method == "POST": name = request.get_form_var('name') description = request.get_form_var('description') p = Project.add(name=name, description=description, owner_id=current_user.id, creator_id=current_user.id) if p: return request.redirect('%s' % p.repo_name) has_proj = Project.get_by_name_and_owner(name, current_user.id) default_error = 'Create Failure. Please contact the administrator!' if has_proj is not None: context['error'] = 'Project has exists, Please confirm!' else: context['error'] = default_error context['current_user'] = current_user return st('/errors/common.html', **context) projects = Project.gets_by() context['projects'] = projects context['current_user'] = current_user return st('projects/index.html', **context)