import os class Environment: """Класс для работы с окружением и URL-адресами. Содержит настройки для различных окружений (test, develop) и методы для работы с ними. Получает текущее окружение из переменных окружения системы. Атрибуты: TEST (str): Константа для тестового окружения DEVELOP (str): Константа для окружения разработки URLS (dict): Словарь с базовыми URL для каждого окружения env (str): Текущее окружение access_token (str): Токен доступа """ TEST = 'test' DEVELOP = 'develop' URLS = { TEST: 'http://192.168.2.76/', DEVELOP: 'http://192.168.2.69/' } def __init__(self): """Инициализация объекта окружения. Устанавливает окружение из переменной окружения ENV или по умолчанию TEST. Инициализирует пустой access_token. """ try: self.env = os.getenv('ENV') self.access_token = "" except KeyError: self.env = self.TEST def get_base_url(self): """Возвращает базовый URL для текущего окружения. Returns: str: Базовый URL с учётом особенностей окружения Raises: Exception: Если значение переменной ENV неизвестно """ 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_request_url(self): """Возвращает URL для API-запросов. Returns: str: URL для запросов Raises: Exception: Если значение переменной ENV неизвестно """ 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): """Устанавливает токен доступа. Args: token (str): Новый токен доступа """ self.token = token def get_access_token(self): """Возвращает текущий токен доступа. Returns: str: Текущий токен доступа """ return self.token host = Environment()