mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 21:12:48 +01:00
561ec27683
78214588d
Use for-loop instead of list comprehension (practicalswift)823979436
Use the variable name _ for unused return values (practicalswift)2e6080bbf
Remove unused variables and/or function calls (practicalswift)9b94054b7
Avoid reference to undefined name: stderr does not exist, sys.stderr does (practicalswift)51cb6b822
Use print(...) instead of undefined printf(...) (practicalswift)25cd520fc
Use sys.exit(...) instead of exit(...): exit(...) should not be used in programs (practicalswift) Pull request description: Python cleanups: * Avoid reference to undefined name: `stderr` does not exist, `sys.stderr` does * Use `print(...)` instead of undefined `printf(...)` * Avoid redefinition of variable (`tx`) in list comprehension * Remove unused variables and/or function calls * Use `sys.exit(...)` instead of `exit(...)`: [`exit(...)` should not be used in programs](https://github.com/bitcoin/bitcoin/pull/10753#discussion_r125935027) Tree-SHA512: 1238dfbc1d20f7edadea5e5406a589f293065638f6234809f0d5b6ba746dffe3d276bc5884c7af388a6c798c61a8759faaccf57f381225644754c0f61914eb4b
89 lines
2.6 KiB
Python
Executable File
89 lines
2.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# Copyright (c) 2012-2016 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
'''
|
|
Extract _("...") strings for translation and convert to Qt stringdefs so that
|
|
they can be picked up by Qt linguist.
|
|
'''
|
|
from subprocess import Popen, PIPE
|
|
import operator
|
|
import os
|
|
import sys
|
|
|
|
OUT_CPP="qt/dashstrings.cpp"
|
|
EMPTY=['""']
|
|
|
|
def parse_po(text):
|
|
"""
|
|
Parse 'po' format produced by xgettext.
|
|
Return a list of (msgid,msgstr) tuples.
|
|
"""
|
|
messages = []
|
|
msgid = []
|
|
msgstr = []
|
|
in_msgid = False
|
|
in_msgstr = False
|
|
|
|
for line in text.split('\n'):
|
|
line = line.rstrip('\r')
|
|
if line.startswith('msgid '):
|
|
if in_msgstr:
|
|
messages.append((msgid, msgstr))
|
|
in_msgstr = False
|
|
# message start
|
|
in_msgid = True
|
|
|
|
msgid = [line[6:]]
|
|
elif line.startswith('msgstr '):
|
|
in_msgid = False
|
|
in_msgstr = True
|
|
msgstr = [line[7:]]
|
|
elif line.startswith('"'):
|
|
if in_msgid:
|
|
msgid.append(line)
|
|
if in_msgstr:
|
|
msgstr.append(line)
|
|
|
|
if in_msgstr:
|
|
messages.append((msgid, msgstr))
|
|
|
|
return messages
|
|
|
|
files = sys.argv[1:]
|
|
|
|
# xgettext -n --keyword=_ $FILES
|
|
XGETTEXT=os.getenv('XGETTEXT', 'xgettext')
|
|
if not XGETTEXT:
|
|
print('Cannot extract strings: xgettext utility is not installed or not configured.',file=sys.stderr)
|
|
print('Please install package "gettext" and re-run \'./configure\'.',file=sys.stderr)
|
|
sys.exit(1)
|
|
child = Popen([XGETTEXT,'--output=-','-n','--keyword=_'] + files, stdout=PIPE)
|
|
(out, err) = child.communicate()
|
|
|
|
messages = parse_po(out.decode('utf-8'))
|
|
|
|
f = open(OUT_CPP, 'w')
|
|
f.write("""
|
|
|
|
#include <QtGlobal>
|
|
|
|
// Automatically generated by extract_strings_qt.py
|
|
#ifdef __GNUC__
|
|
#define UNUSED __attribute__((unused))
|
|
#else
|
|
#define UNUSED
|
|
#endif
|
|
""")
|
|
f.write('static const char UNUSED *dash_strings[] = {\n')
|
|
f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('PACKAGE_NAME'),))
|
|
f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS'),))
|
|
if os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION') != os.getenv('PACKAGE_NAME'):
|
|
f.write('QT_TRANSLATE_NOOP("dash-core", "%s"),\n' % (os.getenv('COPYRIGHT_HOLDERS_SUBSTITUTION'),))
|
|
messages.sort(key=operator.itemgetter(0))
|
|
for (msgid, msgstr) in messages:
|
|
if msgid != EMPTY:
|
|
f.write('QT_TRANSLATE_NOOP("dash-core", %s),\n' % ('\n'.join(msgid)))
|
|
f.write('};\n')
|
|
f.close()
|