Пример #1
0
def _q_index(request):
    user = request.user
    my_issues = []
    if user:
        username = user.username

        your_projects = CodeDoubanProject.get_projects(owner=username,
                                                       sortby='lru')
        watched_projects = CodeDoubanProject.get_watched_others_projects_by_user(  # noqa
            user=username,
            sortby='lru')

        teams = Team.get_by_user_id(user.name)
        actions = get_user_inbox(username).get_actions(
            stop=PAGE_ACTIONS_COUNT - 1)
        badge_items = user.get_badge_items()

        # pull request
        # your_tickets = user.get_user_pull_requests_rank(limit=5)
        your_tickets = user.get_user_submit_pull_requests(limit=5)

        # issue
        project_ids = CodeDoubanProject.get_ids(user.name)
        dt = {
            'state': "open",
            'limit': 5,
            'start': 0,
        }
        my_issues = ProjectIssue.gets_by_project_ids(project_ids, **dt)

        return st('newsfeed.html', **locals())
    return request.redirect("/teams/")
Пример #2
0
def _q_index(request):
    user = request.user
    my_issues = []
    if user:
        username = user.username

        your_projects = CodeDoubanProject.get_projects(owner=username,
                                                       sortby='lru')
        watched_projects = CodeDoubanProject.get_watched_others_projects_by_user(  # noqa
            user=username, sortby='lru')

        teams = Team.get_by_user_id(user.name)
        actions = get_user_inbox(username).get_actions(
            stop=PAGE_ACTIONS_COUNT - 1)
        badge_items = user.get_badge_items()

        # pull request
        # your_tickets = user.get_user_pull_requests_rank(limit=5)
        your_tickets = user.get_user_submit_pull_requests(limit=5)

        # issue
        project_ids = CodeDoubanProject.get_ids(user.name)
        dt = {
            'state': "open",
            'limit': 5,
            'start': 0,
        }
        my_issues = ProjectIssue.gets_by_project_ids(project_ids, **dt)

        return st('newsfeed.html', **locals())
    return request.redirect("/teams/")
Пример #3
0
 def get_user_index(cls, user):
     index_data = user.as_dict()
     badges_count = len(index_data['badges'])
     del index_data['badges']
     praises_count = len(user.get_praises())
     repos_count = len(CodeDoubanProject.get_ids(owner=user.name))
     index_data.update(  # TODO: add other necessary fields
         repos_count=repos_count,
         praises_count=praises_count,
         badges_count=badges_count,
         last_updated=datetime.now().strftime(DATE_FORMAT),  # FIXME
     )
     return index_data
Пример #4
0
 def get_user_index(cls, user):
     index_data = user.as_dict()
     badges_count = len(index_data['badges'])
     del index_data['badges']
     praises_count = len(user.get_praises())
     repos_count = len(CodeDoubanProject.get_ids(owner=user.name))
     index_data.update(  # TODO: add other necessary fields
         repos_count=repos_count,
         praises_count=praises_count,
         badges_count=badges_count,
         last_updated=datetime.now().strftime(DATE_FORMAT),  # FIXME
     )
     return index_data
Пример #5
0
 def index(request):
     user = request.user
     my_issues = []
     if user:
         page = request.get_form_var('page', 1)
         state = request.get_form_var("state", "open")
         is_closed_tab = None if state == "open" else True
         project_ids = CodeDoubanProject.get_ids(user.name)
         # TODO: 下面的这些N,可以考虑先从 get 参数里拿一下,没有的话再重新读
         n_repos_issue = ProjectIssue.get_count_by_project_ids(project_ids,
                                                               state)
         n_assigned_issue = user.get_count_assigned_issues(state)
         n_created_issue = user.get_count_created_issues(state)
         n_participated_issue = user.get_n_participated_issues(state)
         total_issues = {
             'repos': n_repos_issue,
             'assigned': n_assigned_issue,
             'created_by': n_created_issue,
             'participated': n_participated_issue,
         }[list_type]
         n_pages = (total_issues - 1) / ISSUES_COUNT_PER_PAGE + 1
         dt = {
             'state': state,
             'limit': ISSUES_COUNT_PER_PAGE,
             'start': ISSUES_COUNT_PER_PAGE * (int(page) - 1),
         }
         if list_type == 'repos':
             my_issues = ProjectIssue.gets_by_project_ids(project_ids, **dt)
         else:
             get_my_issues = {
                 'assigned': user.get_assigned_issues,
                 'created_by': user.get_created_issues,
                 'participated': user.get_participated_issues,
             }[list_type]
             my_issues = get_my_issues(**dt)
     return st('issue/my_issues.html', **locals())
Пример #6
0
 def __init__(self, username, target_ids=None):
     if not target_ids:
         from vilya.models.project import CodeDoubanProject
         target_ids = CodeDoubanProject.get_ids(owner=username)
     super(ProjectOwnLRUCounter, self).__init__(username, target_ids)
Пример #7
0
    def __init__(self, username, target_ids=None):
        if not target_ids:
            from vilya.models.project import CodeDoubanProject

            target_ids = CodeDoubanProject.get_ids(owner=username)
        super(ProjectOwnLRUCounter, self).__init__(username, target_ids)
Пример #8
0
def reset_all():
    ids = CodeDoubanProject.get_ids()
    for id in ids:
        project = CodeDoubanProject.get(id)
        project.git.get_gitstats_data()
Пример #9
0
def clean_all():
    ids = CodeDoubanProject.get_ids()
    for id in ids:
        project = CodeDoubanProject.get(id)
        clear(project.name)