kytos.cli.commands.web.api   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 80%

Importance

Changes 0
Metric Value
eloc 22
dl 0
loc 34
ccs 16
cts 20
cp 0.8
rs 10
c 0
b 0
f 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 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
    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