project-stats

keep track of your projects
git clone https://git.ce9e.org/project-stats.git

commit
cdf791486a74cfc827fcdd2d5563b53709f9ba2f
parent
be21d6908d7b77d568d2dbac1113b8a5bee43f2c
Author
Tobias Bengfort <tobias.bengfort@gmx.net>
Date
2015-12-13 11:17
include gitlab issues and pulls

Diffstat

M project_stats.py 18 ++++++++++++++----

1 files changed, 14 insertions, 4 deletions


diff --git a/project_stats.py b/project_stats.py

@@ -237,10 +237,18 @@ def get_github(url, user=None, password=None):
  237   237 
  238   238 
  239   239 def get_gitlab(_id, token=None):
  240    -1     api_url = 'https://gitlab.com/api/v3/projects/' + _id
  241    -1     if token is not None:
  242    -1         api_url += '?private_token=' + token
  243    -1     data = get_json(api_url)
   -1   240     def _get_json(path):
   -1   241         api_url = 'https://gitlab.com/api/v3/projects/' + _id + path
   -1   242         if token is not None:
   -1   243             if '?' in api_url:
   -1   244                 api_url += '&private_token=' + token
   -1   245             else:
   -1   246                 api_url += '?private_token=' + token
   -1   247         return get_json(api_url)
   -1   248 
   -1   249     data = _get_json('')
   -1   250     issues = _get_json('/issues?state=opened')
   -1   251     pulls = _get_json('/merge_requests?state=opened')
  244   252 
  245   253     return {
  246   254         'name': data['name'],
@@ -250,6 +258,8 @@ def get_gitlab(_id, token=None):
  250   258         'updated': dt.parse(data['last_activity_at']),
  251   259         'forks_count': data['forks_count'],
  252   260         'watchers_count': data['star_count'],
   -1   261         'open_issues': len(issues),
   -1   262         'open_pull_requests': len(pulls),
  253   263     }
  254   264 
  255   265