Esempio n. 1
0
def committers_history(request, userid, slug):
    template = "repocontrol/graphs_history_bycommiters.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))
    
    return render_to_response(template, {'branches':branches,'reponame':obj.get('reponame') , 'activelink':'graphs', 'href':"/%d/%s/" % (obj.get('user_obj').id, slug)}, context_instance=RequestContext(request))
Esempio n. 2
0
def viewfiles(request, userid, slug, branch="master"):
    template = "repocontrol/viewfiles.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))
    if branches and branch == "master":
        branch = branches[0] #teeeeest
    #if branches:
    #    branch = branches[0]
    
    if not branch in branches:
        raise Http404
    return render_to_response(template, {'chosenbranch':branch, 'reponame':obj.get('reponame'), 'branches':branches, 'href':"/%d/%s/" % (obj.get('user_obj').id, slug), 'activelink':'files'}, context_instance=RequestContext(request))
Esempio n. 3
0
def committers_history(request, userid, slug):
    template = "repocontrol/graphs_history_bycommiters.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))

    return render_to_response(
        template, {
            'branches': branches,
            'reponame': obj.get('reponame'),
            'activelink': 'graphs',
            'href': "/%d/%s/" % (obj.get('user_obj').id, slug)
        },
        context_instance=RequestContext(request))
Esempio n. 4
0
def viewrepo(request, userid, slug):
    template = "repocontrol/viewrepo.html"
    obj = func.getRepoObjorNone(userid, slug)
    userobj = User.objects.get(pk=userid)
    
    empty = False
    try:    
        repo = Repository.objects.get(user=userobj, slug=slug)
    except:
        repo = None
    
    comm_date = None
    latest_commit = None
    latest_commit_ref = None
    
    branches = func.getBranches(obj.get('repoObj'))
    if not branches:
        empty = True
    
    if not repo:
        raise Http404
    elif repo and obj:  
        try:
            comm_date = datetime.datetime.fromtimestamp(obj.get('repoObj').commit().committed_date)
            latest_commit = obj.get('repoObj').commit()
            latest_commit_ref = str(obj.get('repoObj').head.ref)
        except:
            pass
    else:
        empty = True
        
    if empty:
        return render_to_response(template, {'slug':slug, 'userobj':userobj.username, 'empty':True}, context_instance=RequestContext(request))
    
    latest_issues = Issue.objects.filter(repository=obj.get('repo')).order_by('-published')[:5]
    issues_latest_comments = Issue.objects.filter(repository=obj.get('repo'), last_action__isnull=False).order_by('-last_action')[:3]
    comments = []
    
    if issues_latest_comments:
        for li in issues_latest_comments:
            com = li.issuecomment_set.all().order_by('-date')[:2]
            comments.append(com)

    return render_to_response(template, {'latest_commit_ref':latest_commit_ref, 'issues_latest_comments':comments, 'latest_issues':latest_issues, 'reponame':obj.get('reponame'), 'repodb':obj.get('repo'), 'latest_commit':latest_commit, 'date':comm_date, 'href':"/%d/%s/" % (obj.get('user_obj').id, slug), 'activelink':''}, context_instance=RequestContext(request))
Esempio n. 5
0
def showcommits(request, userid, slug, branch="master"):
    template = "repocontrol/viewcommits.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))

    if branches and branch == "master":
        branch = branches[0] #teeeeest

    if not branch in branches:
        raise Http404
    
    page = request.GET.get("page", 1)
    
    try:
        page = int(page)
    except:
        page = 1
        
    show_per_page = 8 

    
    commits = list(func.getCommits(obj.get('repoObj'), branch, show_per_page, (page * show_per_page) - show_per_page))
    nextlist = list(func.getCommits(obj.get('repoObj'), branch, show_per_page, (page * show_per_page)))
    haspreviouslist = list(func.getCommits(obj.get('repoObj'), branch, show_per_page, (page * show_per_page) - 2 * show_per_page))
    
    hasnext = True
    hasprevious = True
    
    if len(nextlist) == 0:
        hasnext = False
    
    if page == 1 or len(haspreviouslist) == 0:
        hasprevious = False
    
    comlist = []
    if commits:
        for commit in commits:
            newcom = {'author':smart_str(commit.author), 'message':smart_str(commit.message), 'date':datetime.datetime.fromtimestamp(commit.committed_date), 'sha':commit.hexsha}
            comlist.append(newcom)

    return render_to_response(template, {'previouspage':page - 1, 'nextpage':page + 1, 'hasprevious':hasprevious, 'hasnext':hasnext, 'page':page, 'reponame':obj.get('reponame'), 'requestedbranch': branch, 'commits':comlist, 'branches':branches, 'repodb':obj.get('repo'), 'href':"/%d/%s/" % (obj.get('user_obj').id, slug), 'activelink':'viewcommits'}, context_instance=RequestContext(request))
Esempio n. 6
0
def viewfiles(request, userid, slug, branch="master"):
    template = "repocontrol/viewfiles.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))
    if branches and branch == "master":
        branch = branches[0]  #teeeeest
    #if branches:
    #    branch = branches[0]

    if not branch in branches:
        raise Http404
    return render_to_response(
        template, {
            'chosenbranch': branch,
            'reponame': obj.get('reponame'),
            'branches': branches,
            'href': "/%d/%s/" % (obj.get('user_obj').id, slug),
            'activelink': 'files'
        },
        context_instance=RequestContext(request))
Esempio n. 7
0
def graphs(request, userid, slug, branch, graph, sk=0):
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))

    dajax = Dajax()

    if branch not in branches:
        branch = branches[0]
    
    skip = int(sk)
    num = 50
    commits = list(func.getCommits(obj.get('repoObj'), branch, num, skip))
    date_val = {}
    list_values = []
    
    
    if commits:
        if graph == "commits":
            for index, c in enumerate(commits):
                skip = index
                if len(date_val) >= 5:
                    break
                dt = datetime.datetime.fromtimestamp(c.committed_date)
                
                temp_val = date_val.get(str(dt.date()))
                if not temp_val:
                    date_val[str(dt.date())] = 1
                else:
                    temp_val += 1
                    date_val[str(dt.date())] = temp_val
        elif graph == "committers":
            first_date = None
            last_date = None
            
            for index, c in enumerate(commits):
                skip = index
                dt = datetime.datetime.fromtimestamp(c.committed_date)
                if index == 0:
                    first_date = dt.date()
                    last_date = first_date - datetime.timedelta(7)
                
                if dt.date() >= last_date:
                    temp_val = date_val.get(smart_str(c.author.name))
                    
                    if not temp_val:
                        date_val[smart_str(c.author.name)] = 1
                    else:
                        temp_val += 1
                        date_val[smart_str(c.author.name)] = temp_val
                else:
                    break
    
        for item in date_val:
            if graph == "commits":
                tmp_dict = {'date':item, 'value':date_val[item], 'sk':skip}
                list_values.append(tmp_dict)
            elif graph == "committers":
                tmp_dict = {'commiter':item, 'value': date_val[item], 'first':str(first_date), 'last':str(last_date), 'sk':skip}
                list_values.append(tmp_dict)

    dajax.add_data(sorted(list_values), "set_graph_data")
    return dajax.json()
Esempio n. 8
0
def graphs(request, userid, slug, branch, graph, sk=0):
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))

    dajax = Dajax()

    if branch not in branches:
        branch = branches[0]

    skip = int(sk)
    num = 50
    commits = list(func.getCommits(obj.get('repoObj'), branch, num, skip))
    date_val = {}
    list_values = []

    if commits:
        if graph == "commits":
            for index, c in enumerate(commits):
                skip = index
                if len(date_val) >= 5:
                    break
                dt = datetime.datetime.fromtimestamp(c.committed_date)

                temp_val = date_val.get(str(dt.date()))
                if not temp_val:
                    date_val[str(dt.date())] = 1
                else:
                    temp_val += 1
                    date_val[str(dt.date())] = temp_val
        elif graph == "committers":
            first_date = None
            last_date = None

            for index, c in enumerate(commits):
                skip = index
                dt = datetime.datetime.fromtimestamp(c.committed_date)
                if index == 0:
                    first_date = dt.date()
                    last_date = first_date - datetime.timedelta(7)

                if dt.date() >= last_date:
                    temp_val = date_val.get(smart_str(c.author.name))

                    if not temp_val:
                        date_val[smart_str(c.author.name)] = 1
                    else:
                        temp_val += 1
                        date_val[smart_str(c.author.name)] = temp_val
                else:
                    break

        for item in date_val:
            if graph == "commits":
                tmp_dict = {'date': item, 'value': date_val[item], 'sk': skip}
                list_values.append(tmp_dict)
            elif graph == "committers":
                tmp_dict = {
                    'commiter': item,
                    'value': date_val[item],
                    'first': str(first_date),
                    'last': str(last_date),
                    'sk': skip
                }
                list_values.append(tmp_dict)

    dajax.add_data(sorted(list_values), "set_graph_data")
    return dajax.json()
Esempio n. 9
0
def viewrepo(request, userid, slug):
    template = "repocontrol/viewrepo.html"
    obj = func.getRepoObjorNone(userid, slug)
    userobj = User.objects.get(pk=userid)

    empty = False
    try:
        repo = Repository.objects.get(user=userobj, slug=slug)
    except:
        repo = None

    comm_date = None
    latest_commit = None
    latest_commit_ref = None

    branches = func.getBranches(obj.get('repoObj'))
    if not branches:
        empty = True

    if not repo:
        raise Http404
    elif repo and obj:
        try:
            comm_date = datetime.datetime.fromtimestamp(
                obj.get('repoObj').commit().committed_date)
            latest_commit = obj.get('repoObj').commit()
            latest_commit_ref = str(obj.get('repoObj').head.ref)
        except:
            pass
    else:
        empty = True

    if empty:
        return render_to_response(template, {
            'slug': slug,
            'userobj': userobj.username,
            'empty': True
        },
                                  context_instance=RequestContext(request))

    latest_issues = Issue.objects.filter(
        repository=obj.get('repo')).order_by('-published')[:5]
    issues_latest_comments = Issue.objects.filter(
        repository=obj.get('repo'),
        last_action__isnull=False).order_by('-last_action')[:3]
    comments = []

    if issues_latest_comments:
        for li in issues_latest_comments:
            com = li.issuecomment_set.all().order_by('-date')[:2]
            comments.append(com)

    return render_to_response(
        template, {
            'latest_commit_ref': latest_commit_ref,
            'issues_latest_comments': comments,
            'latest_issues': latest_issues,
            'reponame': obj.get('reponame'),
            'repodb': obj.get('repo'),
            'latest_commit': latest_commit,
            'date': comm_date,
            'href': "/%d/%s/" % (obj.get('user_obj').id, slug),
            'activelink': ''
        },
        context_instance=RequestContext(request))
Esempio n. 10
0
def showcommits(request, userid, slug, branch="master"):
    template = "repocontrol/viewcommits.html"
    obj = func.getRepoObjorNone(userid, slug)
    func.objOr404(obj)
    branches = func.getBranches(obj.get('repoObj'))

    if branches and branch == "master":
        branch = branches[0]  #teeeeest

    if not branch in branches:
        raise Http404

    page = request.GET.get("page", 1)

    try:
        page = int(page)
    except:
        page = 1

    show_per_page = 8

    commits = list(
        func.getCommits(obj.get('repoObj'), branch, show_per_page,
                        (page * show_per_page) - show_per_page))
    nextlist = list(
        func.getCommits(obj.get('repoObj'), branch, show_per_page,
                        (page * show_per_page)))
    haspreviouslist = list(
        func.getCommits(obj.get('repoObj'), branch, show_per_page,
                        (page * show_per_page) - 2 * show_per_page))

    hasnext = True
    hasprevious = True

    if len(nextlist) == 0:
        hasnext = False

    if page == 1 or len(haspreviouslist) == 0:
        hasprevious = False

    comlist = []
    if commits:
        for commit in commits:
            newcom = {
                'author': smart_str(commit.author),
                'message': smart_str(commit.message),
                'date': datetime.datetime.fromtimestamp(commit.committed_date),
                'sha': commit.hexsha
            }
            comlist.append(newcom)

    return render_to_response(
        template, {
            'previouspage': page - 1,
            'nextpage': page + 1,
            'hasprevious': hasprevious,
            'hasnext': hasnext,
            'page': page,
            'reponame': obj.get('reponame'),
            'requestedbranch': branch,
            'commits': comlist,
            'branches': branches,
            'repodb': obj.get('repo'),
            'href': "/%d/%s/" % (obj.get('user_obj').id, slug),
            'activelink': 'viewcommits'
        },
        context_instance=RequestContext(request))