89 lines
2.8 KiB
Python
89 lines
2.8 KiB
Python
"""Модуль environment содержит настройки окружения и URL-адресов.
|
||
|
||
Класс Environment предоставляет методы для работы с окружением,
|
||
токенами и URL-адресами API.
|
||
"""
|
||
|
||
import os
|
||
from typing import Dict
|
||
|
||
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.access_token: str = ""
|
||
self.token: str = ""
|
||
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_access_token(self, token: str) -> None:
|
||
"""Устанавливает токен доступа.
|
||
|
||
Аргументы:
|
||
token (str): Токен для установки.
|
||
"""
|
||
|
||
self.token = token
|
||
|
||
def get_access_token(self) -> str:
|
||
"""Возвращает текущий токен доступа.
|
||
|
||
Возвращает:
|
||
str: Текущий токен доступа.
|
||
"""
|
||
|
||
return self.token
|
||
|
||
|
||
host: Environment = Environment()
|