Index: cms/translations/xtm/cli.py |
diff --git a/cms/translations/xtm/cli.py b/cms/translations/xtm/cli.py |
index 9bade4323d56be2a85360ea696297c07c45b50ca..f8166e2a54c563d8bb23bca1acaa1d88f46fc195 100644 |
--- a/cms/translations/xtm/cli.py |
+++ b/cms/translations/xtm/cli.py |
@@ -28,28 +28,30 @@ import cms.translations.xtm.constants as const |
from cms.translations.xtm.projects_handler import ( |
create_project, upload_files, download_files, |
) |
-from cms.translations.xtm.utils import input_fn, read_token |
+from cms.translations.xtm.utils import input_fn, read_token, get_api_url |
from cms.sources import create_source |
def handle_projects(args): |
try: |
- api = XTMCloudAPI(read_token()) |
+ token = read_token() |
+ with create_source(args.source_dir, cached=True) as fs: |
+ api = XTMCloudAPI(token, get_api_url(args, fs)) |
+ args.projects_func(args, api, fs) |
except Exception as err: |
sys.exit(err) |
- with create_source(args.source_dir, cached=True) as fs: |
- args.projects_func(args, api, fs) |
def generate_token(args): |
"""Generate an API token from username and password.""" |
username = input_fn('Username: ') |
user_id = input_fn('User ID: ') |
- password = getpass.getpass(prompt='Pasword: ') |
+ password = getpass.getpass(prompt='Password: ') |
logging.info(const.InfoMessages.GENERATING_TOKEN.format(username, user_id)) |
try: |
- token = get_token(username, password, int(user_id)) |
+ token = get_token(username, password, int(user_id), |
+ get_api_url(args, None)) |
logging.info(const.InfoMessages.TOKEN_GENERATED.format(token)) |
cmd = const.Token.SAVE_COMMAND.format(const.Token.ENV_VAR, token) |
@@ -67,6 +69,7 @@ def parse_args(): |
# Universal arguments |
parser.add_argument('-v', '--verbose', action='store_true', |
help=const.ArgumentsHelp.VERBOSE) |
+ parser.add_argument('--api-url', help=const.ArgumentsHelp.API_URL) |
# Subparser for generating token |
token_parser = subparsers.add_parser('login', |
@@ -157,7 +160,7 @@ def main(): |
args = parse_args() |
if args.verbose: |
- logging.basicConfig(level=logging.INFO) |
+ logging.basicConfig(level=logging.INFO, stream=sys.stderr) |
args.func(args) |