update-translations.py 1.95 KB
Newer Older
1 2
#!/usr/bin/python

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
##
##  Copyright (C) 2016-2017 Savoir-faire Linux Inc.
##
##  Author: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
##  Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
##
##  This program is free software; you can redistribute it and/or modify
##  it under the terms of the GNU General Public License as published by
##  the Free Software Foundation; either version 3 of the License, or
##  (at your option) any later version.
##
##  This program is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##  GNU General Public License for more details.
##
##  You should have received a copy of the GNU General Public License
##  along with this program; if not, write to the Free Software
##  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
##

24 25 26
import os
import shutil

27
print("== Updating from sources")
28
if os.system("lupdate jami-qt.pro -no-obsolete"):
29
    print("trying with 'lupdate-qt5'")
30
    if os.system("lupdate-qt5 jami-qt.pro -no-obsolete"):
31
        raise RuntimeError("unable to find any suitable lupdate Qt tool on this system. Stopping")
32 33 34

print("== Pushing sources")
os.system("tx push -s")
35

36 37
print("== Pulling translations")
os.system("tx pull -af --minimum-perc=1")
38

39
print("Updating .pro file")
40 41 42 43 44 45

translationFiles = []

for filename in os.listdir('./translations'):
    translationFiles.append("translations/{0}".format(filename))

46
proFile = "jami-qt.pro"
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
shutil.move(proFile, proFile + "~")

destination = open(proFile, "w")
source = open(proFile + "~", "r")
for line in source:
    if not ".ts" in line:
        destination.write(line)
    if "TRANSLATIONS = " in line:
        for filename in translationFiles:
            destination.write("    {0} \\\n".format(filename))

source.close()
destination.close()
os.remove(proFile + "~")

62
print("== All done you can commit now")