summaryrefslogtreecommitdiff
path: root/createContributors.py
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-04-21 22:32:09 +0200
committerByteHamster <info@bytehamster.com>2021-04-21 22:32:09 +0200
commit034ba87021b59f6f7a75d8e7595ee7cc2cf7af19 (patch)
treeda2494bebb3e901be2e23fe0e0f582583e8bf8bc /createContributors.py
parentec148b0a23e74fd9650ad8046405ae928e28314c (diff)
downloadAntennaPod-034ba87021b59f6f7a75d8e7595ee7cc2cf7af19.zip
Update transifex to APIv3
Diffstat (limited to 'createContributors.py')
-rw-r--r--createContributors.py69
1 files changed, 43 insertions, 26 deletions
diff --git a/createContributors.py b/createContributors.py
index fb9bed857..d315e5687 100644
--- a/createContributors.py
+++ b/createContributors.py
@@ -16,8 +16,10 @@ page = 1
hasMore = True
first = True
while hasMore:
- json = requests.get('https://api.github.com/repos/AntennaPod/AntennaPod/contributors'
- + '?q=contributions&order=desc&per_page=100&page=' + str(page)).json()
+ nextPage = ('https://api.github.com/repos/AntennaPod/AntennaPod/contributors'
+ + '?q=contributions&order=desc&per_page=100&page=' + str(page))
+ print("Loading " + nextPage)
+ json = requests.get(nextPage).json()
for contributor in json:
role = 'Contributor'
if contributor['login'] == 'danieloeh':
@@ -38,36 +40,51 @@ csvFile.close()
###### Translators #####
config = configparser.ConfigParser()
config.read(os.path.expanduser("~") + '/.transifexrc')
-if 'https://www.transifex.com' in config:
- TRANSIFEX_USER = config['https://www.transifex.com']['username']
- TRANSIFEX_PW = config['https://www.transifex.com']['password']
+if 'https://www.transifex.com' in config and config['https://www.transifex.com']['username'] == 'api':
+ TRANSIFEX_TOKEN = config['https://www.transifex.com']['password']
else:
- TRANSIFEX_USER = ""
- TRANSIFEX_PW = ""
+ TRANSIFEX_TOKEN = ""
+
+languages = dict()
+
+nextPage = 'https://rest.api.transifex.com/team_memberships?filter[organization]=o:antennapod'
+while nextPage is not None:
+ print("Loading " + nextPage)
+ r = requests.get(nextPage,
+ headers={'Authorization': 'Bearer ' + TRANSIFEX_TOKEN,
+ 'Accept': 'application/vnd.api+json'})
+ for item in r.json()['data']:
+ language = item['relationships']['language']['data']['id']
+ user = item['relationships']['user']['data']['id']
+ if not language in languages:
+ langCode = language.replace('l:', '')
+ try:
+ langName = pycountry.languages.lookup(langCode).name
+ except:
+ try:
+ langName = pycountry.languages.lookup(
+ langCode.split('_')[0]).name + ' (' + langCode + ')'
+ except:
+ langName = code
+ print('\033[91mLanguage code not found:' + langCode + '\033[0m')
+ languages[language] = {'name': langName, 'translators': []}
+ languages[language]['translators'].append(user.replace('u:', ''))
+ nextPage = r.json()['links']['next']
+
+languages = list(languages.values())
+languages.sort(key=lambda x : x['name'].lower())
csvFile = open("app/src/main/assets/translators.csv", "w")
-r = requests.get('http://www.transifex.com/api/2/project/antennapod/languages/',
- auth=(TRANSIFEX_USER, TRANSIFEX_PW))
contributorsFile.write('\n\n# Translators\n\n')
contributorsFile.write('| Language | Translators |\n| :-- | :-- |\n')
-
-for lang in r.json():
- langContributers = lang['coordinators'] + lang['reviewers'] + lang['translators']
- langContributers = sorted(langContributers, key=str.lower)
- langCode = lang['language_code']
- try:
- langName = pycountry.languages.lookup(langCode).name
- except:
- try:
- langName = pycountry.languages.lookup(
- langCode.split('_')[0]).name + ' (' + langCode + ')'
- except:
- langName = lang['language_code']
- print('\033[91mLanguage code not found:' + langCode + '\033[0m')
-
- joinedTranslators = ', '.join(langContributers).replace(';', '')
+for language in languages:
+ translators = sorted(language['translators'], key=str.lower)
+ langName = language['name']
+ joinedTranslators = ', '.join(translators).replace(';', '')
contributorsFile.write('| ' + langName + ' | ' + joinedTranslators + ' |\n')
csvFile.write(langName + ';' + joinedTranslators + '\n')
csvFile.close()
-
contributorsFile.close()
+
+print('Done')
+