mirror of
https://github.com/nextcloud/android.git
synced 2024-12-18 06:51:55 +03:00
110 lines
3.3 KiB
Text
110 lines
3.3 KiB
Text
|
#!/usr/bin/env python
|
|||
|
# -*- coding: utf-8 -*-
|
|||
|
|
|||
|
from optparse import OptionParser, OptionValueError
|
|||
|
import os
|
|||
|
import sys
|
|||
|
|
|||
|
from txclib import utils
|
|||
|
from txclib import get_version
|
|||
|
from txclib.log import set_log_level, logger
|
|||
|
|
|||
|
reload(sys) # WTF? Otherwise setdefaultencoding doesn't work
|
|||
|
|
|||
|
# This block ensures that ^C interrupts are handled quietly.
|
|||
|
try:
|
|||
|
import signal
|
|||
|
|
|||
|
def exithandler(signum,frame):
|
|||
|
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
|||
|
signal.signal(signal.SIGTERM, signal.SIG_IGN)
|
|||
|
sys.exit(1)
|
|||
|
|
|||
|
signal.signal(signal.SIGINT, exithandler)
|
|||
|
signal.signal(signal.SIGTERM, exithandler)
|
|||
|
if hasattr(signal, 'SIGPIPE'):
|
|||
|
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
|
|||
|
|
|||
|
except KeyboardInterrupt:
|
|||
|
sys.exit(1)
|
|||
|
|
|||
|
# When we open file with f = codecs.open we specifi FROM what encoding to read
|
|||
|
# This sets the encoding for the strings which are created with f.read()
|
|||
|
sys.setdefaultencoding('utf-8')
|
|||
|
|
|||
|
|
|||
|
def main(argv):
|
|||
|
"""
|
|||
|
Here we parse the flags (short, long) and we instantiate the classes.
|
|||
|
"""
|
|||
|
usage = "usage: %prog [options] command [cmd_options]"
|
|||
|
description = "This is the Transifex command line client which"\
|
|||
|
" allows you to manage your translations locally and sync"\
|
|||
|
" them with the master Transifex server.\nIf you'd like to"\
|
|||
|
" check the available commands issue `%prog help` or if you"\
|
|||
|
" just want help with a specific command issue `%prog help"\
|
|||
|
" command`"
|
|||
|
|
|||
|
parser = OptionParser(
|
|||
|
usage=usage, version=get_version(), description=description
|
|||
|
)
|
|||
|
parser.disable_interspersed_args()
|
|||
|
parser.add_option(
|
|||
|
"-d", "--debug", action="store_true", dest="debug",
|
|||
|
default=False, help=("enable debug messages")
|
|||
|
)
|
|||
|
parser.add_option(
|
|||
|
"-q", "--quiet", action="store_true", dest="quiet",
|
|||
|
default=False, help="don't print status messages to stdout"
|
|||
|
)
|
|||
|
parser.add_option(
|
|||
|
"-r", "--root", action="store", dest="root_dir", type="string",
|
|||
|
default=None, help="change root directory (default is cwd)"
|
|||
|
)
|
|||
|
parser.add_option(
|
|||
|
"--traceback", action="store_true", dest="trace", default=False,
|
|||
|
help="print full traceback on exceptions"
|
|||
|
)
|
|||
|
parser.add_option(
|
|||
|
"--disable-colors", action="store_true", dest="color_disable",
|
|||
|
default=(os.name == 'nt' or not sys.stdout.isatty()),
|
|||
|
help="disable colors in the output of commands"
|
|||
|
)
|
|||
|
(options, args) = parser.parse_args()
|
|||
|
|
|||
|
if len(args) < 1:
|
|||
|
parser.error("No command was given")
|
|||
|
|
|||
|
utils.DISABLE_COLORS = options.color_disable
|
|||
|
|
|||
|
# set log level
|
|||
|
if options.quiet:
|
|||
|
set_log_level('WARNING')
|
|||
|
elif options.debug:
|
|||
|
set_log_level('DEBUG')
|
|||
|
|
|||
|
# find .tx
|
|||
|
path_to_tx = options.root_dir or utils.find_dot_tx()
|
|||
|
|
|||
|
|
|||
|
cmd = args[0]
|
|||
|
try:
|
|||
|
utils.exec_command(cmd, args[1:], path_to_tx)
|
|||
|
except utils.UnknownCommandError:
|
|||
|
logger.error("tx: Command %s not found" % cmd)
|
|||
|
except SystemExit:
|
|||
|
sys.exit()
|
|||
|
except:
|
|||
|
import traceback
|
|||
|
if options.trace:
|
|||
|
traceback.print_exc()
|
|||
|
else:
|
|||
|
formatted_lines = traceback.format_exc().splitlines()
|
|||
|
logger.error(formatted_lines[-1])
|
|||
|
sys.exit(1)
|
|||
|
|
|||
|
# Run baby :) ... run
|
|||
|
if __name__ == "__main__":
|
|||
|
# sys.argv[0] is the name of the script that we’re running.
|
|||
|
main(sys.argv[1:])
|