[CentOS-devel] [PATCH] Initial commit of script to get git repolist from git.centos.org.
bonniek
bonniek at fnal.gov
Wed Jun 11 21:38:32 UTC 2014
---
centos.git.repolist.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
create mode 100755 centos.git.repolist.py
diff --git a/centos.git.repolist.py b/centos.git.repolist.py
new file mode 100755
index 0000000..35be347
--- /dev/null
+++ b/centos.git.repolist.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+'''Get list of repos from gitblit RPC, to grab CentOS sources'''
+
+import optparse
+import requests
+import simplejson as json
+import sys
+
+RPCURL = "https://git.centos.org/rpc?req=LIST_REPOSITORIES"
+
+def read_args():
+ '''
+ read in the command line args and set things up
+ '''
+
+ desc = '''Get list of git repositories from the GitBlit json RPC
+ '''
+
+ usage = "usage: %prog [options] "
+ parser = optparse.OptionParser(usage=usage, description=desc)
+ parser.add_option('-p', '--project', metavar="<PROJECTS>",
+ help='''project path (default 'all', could be 'rpms', 'core-sig'...)''',
+ default='rpms')
+
+ parser.add_option('-u', '--url', metavar="<URL>",
+ help='URL to check (default %s)' % (RPCURL),
+ default = RPCURL
+ )
+
+ (options, args) = parser.parse_args()
+ return options
+
+def get_repo_list(url, projectpath):
+ '''return a list of repo URLs'''
+ try:
+ req = requests.get(url)
+ except requests.exceptions.RequestException as e:
+ print e
+ sys.exit(1)
+
+ payload = req.text
+ repos = json.loads(payload)
+
+ if projectpath != 'all':
+ for repo in repos.keys():
+ if repos[repo]['projectPath'] != projectpath:
+ del repos[repo]
+
+ return repos.keys()
+
+def main():
+ options = read_args()
+ repos = get_repo_list(url=options.url, projectpath=options.project)
+ print '\n'.join(repos)
+
+if __name__ == "__main__":
+ main()
--
1.7.1
More information about the CentOS-devel
mailing list