| OLD | NEW | 
|    1 # This file is part of the Adblock Plus web scripts, |    1 # This file is part of the Adblock Plus web scripts, | 
|    2 # Copyright (C) 2006-present eyeo GmbH |    2 # Copyright (C) 2006-present eyeo GmbH | 
|    3 # |    3 # | 
|    4 # Adblock Plus is free software: you can redistribute it and/or modify |    4 # Adblock Plus is free software: you can redistribute it and/or modify | 
|    5 # it under the terms of the GNU General Public License version 3 as |    5 # it under the terms of the GNU General Public License version 3 as | 
|    6 # published by the Free Software Foundation. |    6 # published by the Free Software Foundation. | 
|    7 # |    7 # | 
|    8 # Adblock Plus is distributed in the hope that it will be useful, |    8 # Adblock Plus is distributed in the hope that it will be useful, | 
|    9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |    9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|   10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |   10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|   11 # GNU General Public License for more details. |   11 # GNU General Public License for more details. | 
|   12 # |   12 # | 
|   13 # You should have received a copy of the GNU General Public License |   13 # You should have received a copy of the GNU General Public License | 
|   14 # along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. |   14 # along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
|   15  |   15  | 
|   16 from __future__ import unicode_literals |   16 from __future__ import unicode_literals | 
|   17  |   17  | 
|   18 import collections |   18 import collections | 
|   19 import logging |   19 import logging | 
|   20 import os |   20 import os | 
|   21 import time |   21 import time | 
|   22 import json |   22 import json | 
 |   23 import ConfigParser | 
|   23  |   24  | 
|   24 from cms.utils import process_page |   25 from cms.utils import process_page | 
|   25 import cms.translations.xtm.constants as const |   26 import cms.translations.xtm.constants as const | 
|   26 from cms.translations.xtm.xtm_api import XTMCloudException |   27 from cms.translations.xtm.xtm_api import XTMCloudException | 
|   27  |   28  | 
|   28  |   29  | 
|   29 __all__ = [ |   30 __all__ = [ | 
|   30     'extract_strings', 'resolve_locales', 'map_locales', 'local_to_remote', |   31     'extract_strings', 'resolve_locales', 'map_locales', 'local_to_remote', | 
|   31     'remote_to_local', 'run_and_wait', 'sanitize_project_name', 'read_token', |   32     'remote_to_local', 'run_and_wait', 'sanitize_project_name', 'read_token', | 
|   32     'get_files_to_upload', 'log_resulting_jobs', 'clear_files', 'input_fn', |   33     'get_files_to_upload', 'log_resulting_jobs', 'clear_files', 'input_fn', | 
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  480     if args.workflow_id: |  481     if args.workflow_id: | 
|  481         return args.workflow_id |  482         return args.workflow_id | 
|  482  |  483  | 
|  483     possible_ids = api.get_workflows_by_name(args.workflow_name) |  484     possible_ids = api.get_workflows_by_name(args.workflow_name) | 
|  484  |  485  | 
|  485     if len(possible_ids) == 0: |  486     if len(possible_ids) == 0: | 
|  486         raise Exception(const.ErrorMessages.NO_WORKFLOW_FOR_NAME.format( |  487         raise Exception(const.ErrorMessages.NO_WORKFLOW_FOR_NAME.format( | 
|  487             args.workflow_name)) |  488             args.workflow_name)) | 
|  488  |  489  | 
|  489     return possible_ids[0] |  490     return possible_ids[0] | 
 |  491  | 
 |  492  | 
 |  493 def get_api_url(args, source): | 
 |  494     """Extract the appropriate API url to be used. | 
 |  495  | 
 |  496     In order of priority, from highest to lowest, the returned url will be: | 
 |  497  | 
 |  498         1. As an argument of the script: `--api-url` | 
 |  499         2. The url from `settings.ini`, under `XTM` section and `url` option | 
 |  500         (If `source` is not None) | 
 |  501         3. The hardcoded url, from `constants.API_URL` | 
 |  502  | 
 |  503  | 
 |  504     Parameters | 
 |  505     ---------- | 
 |  506     args: argparse.Namespace | 
 |  507         The script arguments. | 
 |  508     source: FileSource | 
 |  509         Representing the website to get the url for. | 
 |  510  | 
 |  511     Returns | 
 |  512     ------- | 
 |  513     str | 
 |  514         With the API url. | 
 |  515  | 
 |  516     """ | 
 |  517     if args.api_url: | 
 |  518         return args.api_url | 
 |  519  | 
 |  520     if source is None: | 
 |  521         return const.API_URL | 
 |  522  | 
 |  523     config = source.read_config() | 
 |  524  | 
 |  525     try: | 
 |  526         return config.get(const.Config.XTM_SECTION, const.Config.URL_OPTION) | 
 |  527     except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): | 
 |  528         return const.API_URL | 
| OLD | NEW |