Skip to content

# Environment

Модуль environment содержит настройки окружения и URL-адресов.

Класс Environment предоставляет методы для работы с окружением, токенами и URL-адресами API.

## `Environment`

Управление окружением, URL-адресами и токенами.

Атрибуты класса

TEST (str): Константа для тестового окружения. DEVELOP (str): Константа для dev-окружения. URLS (Dict[str, str]): Словарь URL для разных окружений.

Source code in `data\environment.py`

     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    class Environment:
        """Управление окружением, URL-адресами и токенами.

        Атрибуты класса:
            TEST (str): Константа для тестового окружения.
            DEVELOP (str): Константа для dev-окружения.
            URLS (Dict[str, str]): Словарь URL для разных окружений.
        """

        TEST: str = 'test'
        DEVELOP: str = 'develop'

        URLS: Dict[str, str] = {
            TEST: 'http://192.168.2.76/',
            DEVELOP: 'http://192.168.2.69/'
        }

        def __init__(self) -> None:
            """Инициализирует объект окружения и токены."""

            try:
                self.env: str = os.getenv('ENV', self.TEST)
                self.current_user_credential = {}
            except KeyError:
                self.env: str = self.TEST

        def get_base_url(self) -> str:
            """Возвращает базовый URL для текущего окружения.

            Возвращает:
                str: Базовый URL с путем для теста или без него.
            """

            if self.env in self.URLS:
                if self.env == self.TEST:
                    return self.URLS[self.env] #+ "e-nms-ui/"
                return self.URLS[self.env]
            raise Exception(f"Unknown value of ENV variable {self.env}")

        def get_env_name(self) -> str:
            """Возвращает имя текущего окружения.

            Возвращает:
                str: имя текущего окружения.
            """
            return self.env

        def get_request_url(self) -> str:
            """Возвращает URL для API-запросов.

            Возвращает:
                str: URL для API-запросов.
            """

            if self.env in self.URLS:
                return self.URLS[self.env]
            raise Exception(f"Unknown value of ENV variable {self.env}")

        def set_current_user_credential(self, credential: {}) -> None:
            """Сохраняет учетные данные текущего пользователя.

            Аргументы:
                credential ({}): Учетные данные текущего пользователя.
            """

            self.current_user_credential = credential

        def get_access_token(self) -> str:
            """Возвращает текущий токен доступа.

            Возвращает:
                str: Текущий токен доступа.
            """

            return self.current_user_credential.get("access_token")

        def get_current_user_name(self) -> str:
            """Возвращает имя текущего пользователя.

            Возвращает:
                str: Имя текущего пользователя.
            """

            return self.current_user_credential.get("login")

        def get_current_user_role(self) -> str:
            """Возвращает роль текущего пользователя.

            Возвращает:
                str: Роль текущего пользователя.
            """

            return self.current_user_credential.get("role")

        def get_current_user_id(self) -> str:
            """Возвращает id текущего пользователя.

            Возвращает:
                str: id текущего пользователя.
            """

            return self.current_user_credential.get("$id")

        def get_current_user_credential(self) -> {}:
            """Возвращает учетные данные текущего пользователя."""

            return self.current_user_credential

### `__init__()`

Инициализирует объект окружения и токены.

Source code in `data\environment.py`

    27
    28
    29
    30
    31
    32
    33
    34
    def __init__(self) -> None:
        """Инициализирует объект окружения и токены."""

        try:
            self.env: str = os.getenv('ENV', self.TEST)
            self.current_user_credential = {}
        except KeyError:
            self.env: str = self.TEST

### `get_access_token()`

Возвращает текущий токен доступа.

Возвращает

str: Текущий токен доступа.

Source code in `data\environment.py`

    77
    78
    79
    80
    81
    82
    83
    84
    def get_access_token(self) -> str:
        """Возвращает текущий токен доступа.

        Возвращает:
            str: Текущий токен доступа.
        """

        return self.current_user_credential.get("access_token")

### `get_base_url()`

Возвращает базовый URL для текущего окружения.

Возвращает

str: Базовый URL с путем для теста или без него.

Source code in `data\environment.py`

    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    def get_base_url(self) -> str:
        """Возвращает базовый URL для текущего окружения.

        Возвращает:
            str: Базовый URL с путем для теста или без него.
        """

        if self.env in self.URLS:
            if self.env == self.TEST:
                return self.URLS[self.env] #+ "e-nms-ui/"
            return self.URLS[self.env]
        raise Exception(f"Unknown value of ENV variable {self.env}")

### `get_current_user_credential()`

Возвращает учетные данные текущего пользователя.

Source code in `data\environment.py`

    113
    114
    115
    116
    def get_current_user_credential(self) -> {}:
        """Возвращает учетные данные текущего пользователя."""

        return self.current_user_credential

### `get_current_user_id()`

Возвращает id текущего пользователя.

Возвращает

str: id текущего пользователя.

Source code in `data\environment.py`

    104
    105
    106
    107
    108
    109
    110
    111
    def get_current_user_id(self) -> str:
        """Возвращает id текущего пользователя.

        Возвращает:
            str: id текущего пользователя.
        """

        return self.current_user_credential.get("$id")

### `get_current_user_name()`

Возвращает имя текущего пользователя.

Возвращает

str: Имя текущего пользователя.

Source code in `data\environment.py`

    86
    87
    88
    89
    90
    91
    92
    93
    def get_current_user_name(self) -> str:
        """Возвращает имя текущего пользователя.

        Возвращает:
            str: Имя текущего пользователя.
        """

        return self.current_user_credential.get("login")

### `get_current_user_role()`

Возвращает роль текущего пользователя.

Возвращает

str: Роль текущего пользователя.

Source code in `data\environment.py`

     95
     96
     97
     98
     99
    100
    101
    102
    def get_current_user_role(self) -> str:
        """Возвращает роль текущего пользователя.

        Возвращает:
            str: Роль текущего пользователя.
        """

        return self.current_user_credential.get("role")

### `get_env_name()`

Возвращает имя текущего окружения.

Возвращает

str: имя текущего окружения.

Source code in `data\environment.py`

    49
    50
    51
    52
    53
    54
    55
    def get_env_name(self) -> str:
        """Возвращает имя текущего окружения.

        Возвращает:
            str: имя текущего окружения.
        """
        return self.env

### `get_request_url()`

Возвращает URL для API-запросов.

Возвращает

str: URL для API-запросов.

Source code in `data\environment.py`

    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    def get_request_url(self) -> str:
        """Возвращает URL для API-запросов.

        Возвращает:
            str: URL для API-запросов.
        """

        if self.env in self.URLS:
            return self.URLS[self.env]
        raise Exception(f"Unknown value of ENV variable {self.env}")

### `set_current_user_credential(credential)`

Сохраняет учетные данные текущего пользователя.

Аргументы

credential ({}): Учетные данные текущего пользователя.

Source code in `data\environment.py`

    68
    69
    70
    71
    72
    73
    74
    75
    def set_current_user_credential(self, credential: {}) -> None:
        """Сохраняет учетные данные текущего пользователя.

        Аргументы:
            credential ({}): Учетные данные текущего пользователя.
        """

        self.current_user_credential = credential