summaryrefslogblamecommitdiff
path: root/web/fetch.py
blob: 551f2db91bf0e5821a766c8d6efc1720882117fc (plain) (tree)
























































                                                                                                                                                          
                                                                
 

                                                                                       
#! /usr/bin/env python2.7
# -*- coding: utf8 -*-
#
# Copyright (C) 2018  TMW-2
# Author: Jesusalva

from transifex.api import TransifexAPI
import sys

if len(sys.argv) == 2:
    if sys.argv[1] == "AllFilesVerified":
        pass
    else:
        print("Rejected: Incorrect magic word.")
        exit(1)
else:
    print("Rejected: As this script is VULNERABLE TO CODE INJECTION, you cannot run this command without verifying all files at Transifex first.")
    exit(1)

project='saulc-tmw-fork'

print("Loading user credentials (login.txt/password.txt) from lang/ folder...")

# Load credentials from login.txt and password.txt
login=open('../lang/login.txt', 'r')
for i in login:
    username=i.replace('\n', '').replace('\r', '')

login.close()

passw=open('../lang/password.txt', 'r')
for i in passw:
    password=i.replace('\n', '').replace('\r', '')

passw.close()

t=TransifexAPI(username, password, 'https://www.transifex.com')

if (not t.ping):
    print("ERROR: Ping failed, this may be due incorrect username/password in login.txt and password.txt. Ensure there is NO newline at the end of file.")
    exit(1)

if (not t.project_exists(project)):
    print("ERROR: Invalid project name")
    exit(1)

# Load languages
langs=[]
vcx=open("langs.txt", "r")
for i in vcx:
    if i != "en":
        langs.append(i.replace('\n', ''))
vcx.close()

# Fetch all translations and record them at in/
for i in langs:
    print("Fetching %s..." %(i))
    t.get_translation(project, 'website', i, 'po/'+str(i)+'.po')

print("All translations were retrieved.")
print("Please sanitize files removing \"\\n\", or updatelang.py won't parse properly.")