| Total Complexity | 4 |
| Total Lines | 34 |
| Duplicated Lines | 0 % |
| Coverage | 80.95% |
| Changes | 0 | ||
| 1 | """Translate cli commands to non-cli code.""" |
||
| 2 | 1 | import logging |
|
| 3 | 1 | from urllib.error import HTTPError, URLError |
|
| 4 | |||
| 5 | 1 | import requests |
|
| 6 | |||
| 7 | 1 | from kytos.utils.config import KytosConfig |
|
| 8 | |||
| 9 | 1 | LOG = logging.getLogger(__name__) |
|
| 10 | |||
| 11 | |||
| 12 | 1 | class WebAPI: # pylint: disable=too-few-public-methods |
|
| 13 | """An API for the command-line interface.""" |
||
| 14 | |||
| 15 | 1 | @classmethod |
|
| 16 | 1 | def update(cls, args): |
|
| 17 | """Call the method to update the Web UI.""" |
||
| 18 | 1 | kytos_api = KytosConfig().config.get('kytos', 'api') |
|
| 19 | 1 | url = f"{kytos_api}api/kytos/core/web/update" |
|
| 20 | 1 | version = args["<version>"] |
|
| 21 | 1 | if version: |
|
| 22 | 1 | url += f"/{version}" |
|
| 23 | |||
| 24 | 1 | try: |
|
| 25 | 1 | result = requests.post(url) |
|
| 26 | except(HTTPError, URLError, requests.exceptions.ConnectionError): |
||
| 27 | LOG.error("Can't connect to server: %s", kytos_api) |
||
| 28 | return |
||
| 29 | |||
| 30 | 1 | if result.status_code != 200: |
|
| 31 | 1 | LOG.info("Error while updating web ui: %s", result.content) |
|
| 32 | else: |
||
| 33 | LOG.info("Web UI updated.") |
||
| 34 |