Changeset View
Changeset View
Standalone View
Standalone View
source/tools/i18n/pullTranslations.py
#!/usr/bin/env python2 | #!/usr/bin/env python3 | ||||
# -*- coding:utf-8 -*- | |||||
# | # | ||||
# Copyright (C) 2014 Wildfire Games. | # Copyright (C) 2020 Wildfire Games. | ||||
# This file is part of 0 A.D. | # This file is part of 0 A.D. | ||||
# | # | ||||
# 0 A.D. is free software: you can redistribute it and/or modify | # 0 A.D. is free software: you can redistribute it and/or modify | ||||
# it under the terms of the GNU General Public License as published by | # it under the terms of the GNU General Public License as published by | ||||
# the Free Software Foundation, either version 2 of the License, or | # the Free Software Foundation, either version 2 of the License, or | ||||
# (at your option) any later version. | # (at your option) any later version. | ||||
# | # | ||||
# 0 A.D. is distributed in the hope that it will be useful, | # 0 A.D. is distributed in the hope that it will be useful, | ||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||
# GNU General Public License for more details. | # GNU General Public License for more details. | ||||
# | # | ||||
# You should have received a copy of the GNU General Public License | # You should have received a copy of the GNU General Public License | ||||
# along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | # along with 0 A.D. If not, see <http://www.gnu.org/licenses/>. | ||||
""" | |||||
Although this script itself should work with both Python 2 and Python 3, it relies on the Transifex Client, which at | |||||
this moment (2014-10-23) does not support Python 3 in the latest stable release (0.10). | |||||
As soon as Transifex Client supports Python 3, simply updating its folder should be enough to make this script work | |||||
with Python 3 as well. | |||||
""" | |||||
from __future__ import absolute_import, division, print_function, unicode_literals | |||||
import os, sys | import os, sys | ||||
# Python version check. | |||||
if sys.version_info[0] != 2: | |||||
print(__doc__) | |||||
sys.exit() | |||||
from txclib.project import Project | from txclib.project import Project | ||||
def main(): | def main(): | ||||
l10nToolsDirectory = os.path.dirname(os.path.realpath(__file__)) | l10nToolsDirectory = os.path.dirname(os.path.realpath(__file__)) | ||||
projectRootDirectory = os.path.abspath(os.path.join(l10nToolsDirectory, os.pardir, os.pardir, os.pardir)) | projectRootDirectory = os.path.abspath(os.path.join(l10nToolsDirectory, os.pardir, os.pardir, os.pardir)) | ||||
l10nFolderName = "l10n" | l10nFolderName = "l10n" | ||||
transifexClientFolder = ".tx" | transifexClientFolder = ".tx" | ||||
for root, folders, filenames in os.walk(projectRootDirectory): | for root, folders, filenames in os.walk(projectRootDirectory): | ||||
root = root.decode('utf-8') | |||||
for folder in folders: | for folder in folders: | ||||
if folder == l10nFolderName: | if folder == l10nFolderName: | ||||
if os.path.exists(os.path.join(root, folder, transifexClientFolder)): | if os.path.exists(os.path.join(root, folder, transifexClientFolder)): | ||||
path = os.path.join(root, folder) | path = os.path.join(root, folder) | ||||
os.chdir(path) | os.chdir(path) | ||||
project = Project(path) | project = Project(path) | ||||
project.pull(fetchall=True, force=True) | project.pull(fetchall=True, force=True) | ||||
if __name__ == "__main__": | if __name__ == "__main__": | ||||
main() | main() |
Wildfire Games · Phabricator