From cd3b70b5220db284ab38e009f37b8e5924021f00 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 09 2016 16:38:48 +0000 Subject: Rework the pagure widget for open PR - Adjust the HTML to be more consistent with the layout in pagure itself and use the entire container. - Include the project name since at the end we want to be able to list Open PRs for multiple projects hosted on pagure. - Change the title a little to not mis-lead that the PR are on pagure not necessarily about pagure --- diff --git a/hubs/widgets/pagure_pr.py b/hubs/widgets/pagure_pr.py index f041113..2c5207e 100644 --- a/hubs/widgets/pagure_pr.py +++ b/hubs/widgets/pagure_pr.py @@ -4,48 +4,66 @@ import jinja2 import requests from hubs.widgets.base import argument import hubs.validators as validators -chrome = panel("Pagure: Newest Open Pull Requests") +chrome = panel("Newest Open Pull Requests on Pagure") pagure_url = "https://pagure.io/api/0" template = jinja2.Template("""
- {% for i in range(0,total_req) %} -
- - - - - -
- Pagure logo - #{{ all_pr[i]['pr_id'] }} - - {{ all_pr[i]['pr_title'] }} ... -
- - - - + + {% endfor %} + +
- - Opened by {{ all_pr[i]['pr_openedby'] }} - {% if all_pr[i]['pr_assignee'] %} -
Assigned to {{ all_pr[i]['pr_assignee'] }}
- {% endif %} -
-
- - + + + + + + + + + + + + + {% for pr in all_pr %} + + + + + - -
ProjectPull-RequestReporterAssignee
+ {% if pr['pr_project_user'] %} + + {{ pr['pr_project_user'] }}/{{ pr['pr_project_name'] }} + {% else %} + + {{ pr['pr_project_name'] }} + {% endif %} + + + #{{ pr['pr_id'] }} + + {{ pr['pr_title'] }} ... + + + + {{ pr['pr_openedby'] }} + + + {% if pr['pr_assignee'] %} + + {{ pr['pr_assignee'] }} -
- - {%endfor%} + {% else %} + unassigned + {% endif %} +
All Pull-Requests
@@ -63,16 +81,22 @@ def data(session, widget, repo): data = response.json() total_req = data['total_requests'] all_pr = list() - for i in range(0,total_req): + for i in range(0, total_req): + pr_project_user = None + if data['requests'][i]['project']['parent']: + pr_project_user = data['requests'][i]['project']['user']['username'] + all_pr.append( dict( + pr_project_name=data['requests'][i]['project']['name'], + pr_project_user=pr_project_user, pr_id=data['requests'][i]['id'], pr_title=data['requests'][i]['title'][:45], pr_openedby=data['requests'][i]['user']['name'], pr_assignee=data['requests'][i]['assignee'], ) ) - all_pr.reverse() + return dict( all_pr=all_pr, total_req=total_req,