From b0b0777cd050ca63e6a5d38e131be32117189157 Mon Sep 17 00:00:00 2001 From: Greg Price Date: Thu, 15 Feb 2018 11:37:43 -0800 Subject: [PATCH] translation: Make new tagmessages script a bit easier to run. Now executable! Just run `tools/tagmessages`. Also, get the username and password from a `.transifexrc` file. And hardcode the project slug to `zulip-test` rather than to `zulip`; the Transifex API is bad at namespacing, so this makes it possible to run this script on a test project (the only way we're currently using it) even for people like me who can also upload to the real Zulip project on Transifex. --- tools/tagmessages | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) mode change 100644 => 100755 tools/tagmessages diff --git a/tools/tagmessages b/tools/tagmessages old mode 100644 new mode 100755 index dcb3dfbe05..20f7a0b0d8 --- a/tools/tagmessages +++ b/tools/tagmessages @@ -2,13 +2,20 @@ from __future__ import absolute_import from __future__ import print_function +import configparser +from hashlib import md5 import os -from hashlib import md5 import polib -username = 'transifex_username' -password = 'transifex_password' +THIS_DIR = os.path.dirname(os.path.realpath(__file__)) +config = configparser.RawConfigParser() +config.read(os.path.join(THIS_DIR, '../.transifexrc')) +login = '{}:{}'.format(config.get('https://www.transifex.com', 'username'), + config.get('https://www.transifex.com', 'password')) + +project_slug = 'zulip-test' # HACK hardcode + tools_dir = os.path.dirname(os.path.abspath(__file__)) root_dir = os.path.dirname(tools_dir) # Choose any translation file for processing all strings. @@ -18,7 +25,7 @@ for entry in po: if tag: keys = [entry.msgid, entry.msgctxt or ''] msg_hash = md5(':'.join(keys).encode('utf-8')).hexdigest() - curl_call = 'curl -i -L --user {}:{} -X PUT -H "Content-Type: application/json" ' \ - '--data \'{{"tags": ["{}"]}}\' https://www.transifex.com/api/2/project/zulip/resource' \ - '/djangopo/source/{}'.format(username, password, tag, msg_hash) + curl_call = 'curl -i -L --user {} -X PUT -H "Content-Type: application/json" ' \ + '--data \'{{"tags": ["{}"]}}\' https://www.transifex.com/api/2/project/{}/resource' \ + '/djangopo/source/{}'.format(login, tag, project_slug, msg_hash) os.system(curl_call)