示例#1
0
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:])
示例#2
0
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:])
示例#3
0
文件: __init__.py 项目: banjin/code
def _q_index(request):
    tdt = dict()
    session = request.session
    current_user = User.get_by(session.user) if session else None
    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('projects/%s' % p.name)
        tdt['project'] = p
        return st('projects/index.html', **tdt)
    projects = Project.gets_by()
    tdt['projects'] = projects
    tdt['current_user'] = User.get_by(id=session.user) if session else None
    return st('projects/index.html', **tdt)
示例#4
0
文件: __init__.py 项目: banjin/code
def _q_lookup(request, part):
    p = Project.get_by_name(part)
    if p:
        return ProjectUI(p)
    raise TraversalError
示例#5
0
文件: __init__.py 项目: banjin/code
 def _q_lookup(self, request, part):
     project = Project.get_by_name(part)
     if project:
         return ProjectUI(project)
     raise TraversalError
示例#6
0
 def _q_lookup(self, request, name):
     project = Project.get_by_name(name)
     if project:
         return ProjectUI(project)
     raise errors.NotFoundError('project %s', name)
示例#7
0
 def get(self, request):
     projects = Project.gets_by()
     projects = [p.as_dict() for p in projects]
     for p in projects:
         p["links"] = dict(commits="commits")
     return dict(projects=projects)
示例#8
0
 def get(self, request):
     projects = Project.gets_by()
     projects = [p.as_dict() for p in projects]
     for p in projects:
         p['links'] = dict(commits='commits')
     return dict(projects=projects)
示例#9
0
文件: user.py 项目: banjin/code
 def projects(self):
     from code.models.project import Project
     return Project.gets_by(owner_id=self.id)