[sysadmin-bin: 3/5] mail: use gitlab python api



commit e5a658b4628bc7864b4b6100ec9318cf8aeda6b6
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Fri Feb 23 17:12:17 2018 +0200

    mail: use gitlab python api

 mail/set-topics-svn-commits-list | 25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)
---
diff --git a/mail/set-topics-svn-commits-list b/mail/set-topics-svn-commits-list
index b98f31b..f86ab51 100755
--- a/mail/set-topics-svn-commits-list
+++ b/mail/set-topics-svn-commits-list
@@ -5,7 +5,7 @@ import re
 import time
 import getopt
 import urllib
-import json
+from gitlab import Gitlab
 from types import TupleType
 
 # hack
@@ -19,26 +19,13 @@ from Mailman import Errors
 from Mailman import i18n
 
 def get_gitlab_gnome_org_modules():
-    modules = []
-    api_url = 'https://gitlab.gnome.org/api/v4/projects'
-
-    f = urllib.urlopen(api_url + "?per_page=100")
-    if f.headers.gettype() != 'application/json' or f.headers.status != "":
-        sys.exit(1)
+    gl = Gitlab('https://gitlab.gnome.org')
 
-    pages = int(f.headers['X-Total-Pages'])
-    f.close()
-
-    for page in range(pages):
-        f = urllib.urlopen(api_url + "?per_page=100&simple=true&order_by=name&sort=asc&page=" + str(page))
-        if f.headers.gettype() != 'application/json' or f.headers.status != "":
-            sys.exit(1)
-
-        projects = json.loads(f.read())
-        f.close()
+    modules = []
+    projects = gl.projects.list(all=True)
 
-        for project in projects:
-            modules.append(project['path'])
+    for project in projects:
+        modules.append(project.path)
 
     return list(set(modules))
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]