Passed
Push — master ( 901c2b...6be349 )
by Humberto
02:14
created

kytos.cli.commands.web.api   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 22
dl 0
loc 34
rs 10
c 0
b 0
f 0
ccs 0
cts 20
cp 0
wmc 4

1 Method

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