Andreas Tille pushed to branch master at Debian Blends Team / website
Commits: a644bca3 by Andreas Tille at 2018-03-12T20:15:41+01:00 Download metadata files - - - - - 1 changed file: - misc/machine_readable/fetch-machine-readable_salsa.py Changes: ===================================== misc/machine_readable/fetch-machine-readable_salsa.py ===================================== --- a/misc/machine_readable/fetch-machine-readable_salsa.py +++ b/misc/machine_readable/fetch-machine-readable_salsa.py @@ -3,6 +3,7 @@ import gitlab import os import shutil +import base64 BLENDSGROUPS=[ 'Debian 3D Printing Team' , 'Debian Accessibility Team' @@ -21,9 +22,19 @@ BLENDSGROUPS=[ 'Debian 3D Printing Team' , 'Debichem' ] + # just start with one team BLENDSGROUPS=[ 'Debian Med' ] +debianmetadata = [ 'changelog', + 'control', + 'copyright', + 'README.Debian' + ] +upstreammetadata = [ 'edam', + 'metadata' + ] + TDNAME='machine-readable' MACHINEREADABLEARCHIVE='/srv/blends.debian.org/www/_'+TDNAME+'/'+TDNAME+'.tar.xz' READMEDEBIANARCHIVE='/srv/blends.debian.org/www/_'+TDNAME+'/README.Debian.tar.xz' @@ -41,6 +52,16 @@ def get_blends_groups(): blends_groups.append(group) return blends_groups +def output_metadata(subdir, metadata): + items = project.repository_tree(path=subdir) + for item in items: + if item['name'] in metadata: + file_info = project.repository_blob(item['id']) + content = base64.b64decode(file_info['content']) + with open(os.path.join(namedir,name+'.'+item['name']), 'wb') as out: + out.write(content) + out.close() + # SALSA_TOKEN=os.environ['SALSA_TOKEN'] gl = gitlab.Gitlab("https://salsa.debian.org") # , private_token=SALSA_TOKEN) # anonymous access is fine @@ -49,8 +70,12 @@ blends_groups = get_blends_groups() for group in blends_groups: print(group.attributes['name'], group.attributes['id'], group.attributes['path']) # , group.attributes['description'], group.attributes['full_name']) gpath = group.attributes['path'] - projects = group.projects.list(all=True, order_by='name', sort='asc') - for project in projects: + #projects = group.projects.list(all=True, order_by='name', sort='asc') + #projects = group.projects.all(order_by='name', sort='asc') + # DEBUG : only few projects to be faster + projects = group.projects.list(page=1, per_page=10, order_by='name', sort='asc') + for pr in projects: + project = gl.projects.get(pr.attributes['id']) # without this extra get repository_tree() fails name = project.attributes['name'] namedir = os.path.join(TARGETDIR, name[0]) if not os.path.exists(namedir): @@ -59,8 +84,6 @@ for group in blends_groups: out.write("Vcs-Browser: g...@salsa.debian.org:%s/%s\n" % (gpath, name)) out.write("Vcs-Git: g...@salsa.debian.org:%s/%s.git\n" % (gpath, name)) out.close() - -#for project in git.getall(git.getprojects): -# print(project['name'], project['path_with_namespace'], project['id']) - # getrawfile(project['id'], 'master', 'debian/changelog') - # getfile(project['id'], 'debian/changelog', 'master') \ No newline at end of file + # print(project) + output_metadata('debian', debianmetadata) + output_metadata('debian/upstream', upstreammetadata) View it on GitLab: https://salsa.debian.org/blends-team/website/commit/a644bca3593707b5902edb0c99299f7e68dc20e4 --- View it on GitLab: https://salsa.debian.org/blends-team/website/commit/a644bca3593707b5902edb0c99299f7e68dc20e4 You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ Blends-commit mailing list Blends-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/blends-commit