import requests import sys apiLocation = "https://git.tijl.dev/api/v1" secret = sys.argv[1] userrepos = requests.get( apiLocation+'/user/repos', headers={ 'Authorization': 'token '+secret } ) if userrepos.status_code == 200: userrepos = userrepos.json() else: print(f'Request failed with status code {userrepos.status_code}') result = [] for item in userrepos: languages_url = item.get('languages_url') if languages_url: language_response = requests.get( languages_url, headers={'Authorization': 'token '+secret} ) if language_response.status_code == 200: language_data = language_response.json() newdata = { 'full_name': item.get('full_name'), 'language_data': language_data } result.append(newdata) else: print(f'Request failed with status code {userrepos.status_code}') language_counts = {} for item in result: language_data = item.get('language_data') if language_data: for language, count in language_data.items(): if language in language_counts: language_counts[language]['score'] += count else: language_counts[language] = {'score': count} sorted_data = dict( sorted( language_counts.items(), key=lambda x: x[1]['score'], reverse=True) ) print(sorted_data)