| Index: cms/translations/xtm/utils.py |
| diff --git a/cms/translations/xtm/utils.py b/cms/translations/xtm/utils.py |
| index 22afc4bd2a12d94a773d20b50ce93a7d921f1cf3..8713e81890982e1aacf0c89737d19984d873c072 100644 |
| --- a/cms/translations/xtm/utils.py |
| +++ b/cms/translations/xtm/utils.py |
| @@ -20,6 +20,7 @@ import logging |
| import os |
| import time |
| import json |
| +import ConfigParser |
| from cms.utils import process_page |
| import cms.translations.xtm.constants as const |
| @@ -487,3 +488,41 @@ def extract_workflow_id(api, args): |
| args.workflow_name)) |
| return possible_ids[0] |
| + |
| + |
| +def get_api_url(args, source): |
| + """Extract the appropriate API url to be used. |
| + |
| + In order of priority, from highest to lowest, the returned url will be: |
| + |
| + 1. As an argument of the script: `--api-url` |
| + 2. The url from `settings.ini`, under `XTM` section and `url` option |
| + (If `source` is not None) |
| + 3. The hardcoded url, from `constants.API_URL` |
| + |
| + |
| + Parameters |
| + ---------- |
| + args: argparse.Namespace |
| + The script arguments. |
| + source: FileSource |
| + Representing the website to get the url for. |
| + |
| + Returns |
| + ------- |
| + str |
| + With the API url. |
| + |
| + """ |
| + if args.api_url: |
| + return args.api_url |
| + |
| + if source is None: |
| + return const.API_URL |
| + |
| + config = source.read_config() |
| + |
| + try: |
| + return config.get(const.Config.XTM_SECTION, const.Config.URL_OPTION) |
| + except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): |
| + return const.API_URL |