diff --git a/main.py b/main.py index de8eecfcd44db4124d09fc39b48f2428c295cf3e..84c284caf9ce789c3a7392133ec6054bb175bcd4 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,3 @@ -# from re import I import gitlab import requests import json @@ -6,9 +5,6 @@ from json2html import * import argparse import os from dotenv import load_dotenv -from pandas.io.json import json_normalize -import pandas as pd -from flatten_json import flatten import csv parser = argparse.ArgumentParser(description="Get Project, License and Owners from gitlab") @@ -39,7 +35,7 @@ try: gl_proj = 'https://k8s-gitlab.software.geant.org/api/v4/projects' gl_license = 'repository/files/LICENSE?ref=' gl_branch = 'repository/branches' - projects = gl.projects.list(all=True) + projects = gl.projects.list() # projects = gl.projects.list(all=True) else: print("--production or --developer, please, now exit") @@ -101,14 +97,12 @@ try: owners = json.loads(data) c_user_tmp = [] for owner in owners: - # c_user_tmp = [] if owner['access_level'] == 50: # print('User ID: ', owner['id']) # print('User Name: ', owner['name']) # print('Access level: ', owner['access_level']) y = owner['id'] j_project['projects'][x]['owners'][y] = {} - # c_user_tmp = [] user = gl.users.get(y) emails = user.emails.list() if user.email == user.commit_email: @@ -117,7 +111,6 @@ try: 'owner_name': owner['name'], 'owner_mail': user.email, } - # c_user_tmp.append(owner['name'] + '<' + user.email + '>' + ';') else: user_tmp = { 'owner_id': owner['id'], @@ -125,23 +118,13 @@ try: 'owner_mail': user.email, 'owner_mail_commit': user.commit_email } - # c_user_tmp.append(owner['name'] + '<' + user.email + '>' + ';') - # c_user_tmp.append(j_project['projects'][x]['owners'][y]['owner_name'] + '<' + - # j_project['projects'][x]['owners'][y]['owner_mail'] + '>' + ';') j_project['projects'][x]['owners'][y] = user_tmp - print(j_project['projects'][x]['owners'][y]['owner_name'] + '<' + - j_project['projects'][x]['owners'][y]['owner_mail'] + '>' + ';') - - c_user_tmp.append(j_project['projects'][x]['owners'][y]['owner_name'] + '<' + - j_project['projects'][x]['owners'][y]['owner_mail'] + '>' + ' ') - print(c_user_tmp) - - # c_owners = j_project['projects'][x]['owners'] - # c_user = [] - # for c_owner in c_owners: - # c_user.append(c_owner['owner_name'] + ':' + c_owner['owner_mail']) + c_user_tmp.append(j_project['projects'][x]['owners'][y]['owner_name'] + '<' + + j_project['projects'][x]['owners'][y]['owner_mail'] + '>' + ' ') + print(c_user_tmp) c_project.append([project.attributes['id'], project.attributes['name_with_namespace'], - project.attributes['visibility'], lic, last_act, c_user_tmp[0]]) + project.attributes['namespace']['name'], project.attributes['visibility'], + lic, last_act, c_user_tmp[0]]) print(8*"-") except: print('Something wrong or Cant connect to GitLab server, check credential') @@ -149,8 +132,6 @@ except: new_jproject = json.dumps(j_project, indent=4, ensure_ascii=False) -# print(new_jproject) - with open("gitlab-projects.json", "w", encoding='utf8') as outfile: outfile.write(new_jproject) @@ -162,18 +143,10 @@ with open("gitlab-projects.html", "w", encoding='utf8') as outfile: print(c_project) with open('gitlab-projects.csv', 'w', encoding='UTF8', newline='') as f: - writer = csv.writer(f) - # writer = csv.DictWriter(j_project) + writer = csv.writer(f, delimiter=";") + csv_header = ['Project ID', 'Project Name', 'Group', 'Status', 'LICENSE', 'Last Activity', 'Owners'] # write the header - # writer.writerow(header) - + writer.writerow(csv_header) # write multiple rows writer.writerows(c_project) - -# for project in projects: - - - - -# print(new_csv) print("This is the end...")