[sysadmin-bin] Revert e5a658b4628bc7864b4b6100ec9318cf8aeda6b6 as python-gitlab is not py2.6.6 compatible



commit 6d9c1e37c5a43cd4511be7377d1d019214bc6ae2
Author: Andrea Veri <averi redhat com>
Date:   Tue Feb 27 11:32:28 2018 +0100

    Revert e5a658b4628bc7864b4b6100ec9318cf8aeda6b6 as python-gitlab is not py2.6.6 compatible

 mail/set-topics-svn-commits-list | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)
---
diff --git a/mail/set-topics-svn-commits-list b/mail/set-topics-svn-commits-list
index f934057..b98f31b 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
-from gitlab import Gitlab
+import json
 from types import TupleType
 
 # hack
@@ -19,14 +19,26 @@ from Mailman import Errors
 from Mailman import i18n
 
 def get_gitlab_gnome_org_modules():
-    gl = Gitlab('https://gitlab.gnome.org')
-
     modules = []
-    group = gl.groups.get(8)
-    projects = group.projects.list(all=True)
+    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)
+
+    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()
 
-    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]