From 1ca9822bac1a59ae3de53f74f25412b02d84b1f0 Mon Sep 17 00:00:00 2001 From: Radislav Date: Tue, 22 Jul 2025 08:19:37 +0300 Subject: [PATCH] =?UTF-8?q?feat(environment):=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B0=D0=BD=D0=BD=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20?= =?UTF-8?q?=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлены аннотации типов для атрибутов класса: * TEST: str * DEVELOP: str * URLS: Dict[str, str] * env: str * access_token: str * token: str - Добавлены аннотации возвращаемых типов: * -> str для get_base_url(), get_request_url(), get_access_token() * -> None для set_access_token() * -> None для __init__() - Добавлена аннотация типа для параметра token: str в set_access_token() - Добавлена аннотация типа для глобальной переменной host: Environment Изменения улучшают статический анализ кода и документирование. --- data/environment.py | 75 ++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 55 deletions(-) diff --git a/data/environment.py b/data/environment.py index 20018b6..9abecef 100644 --- a/data/environment.py +++ b/data/environment.py @@ -1,83 +1,48 @@ import os +from typing import Dict, Optional class Environment: - """Класс для работы с окружением и URL-адресами. + """Класс для работы с окружением и URL-адресами.""" - Содержит настройки для различных окружений (test, develop) и методы для работы с ними. - Получает текущее окружение из переменных окружения системы. + TEST: str = 'test' + DEVELOP: str = 'develop' - Атрибуты: - TEST (str): Константа для тестового окружения - DEVELOP (str): Константа для окружения разработки - URLS (dict): Словарь с базовыми URL для каждого окружения - env (str): Текущее окружение - access_token (str): Токен доступа - """ - - TEST = 'test' - DEVELOP = 'develop' - - URLS = { + URLS: Dict[str, str] = { TEST: 'http://192.168.2.76/', DEVELOP: 'http://192.168.2.69/' } - def __init__(self): - """Инициализация объекта окружения. - - Устанавливает окружение из переменной окружения ENV или по умолчанию TEST. - Инициализирует пустой access_token. - """ + def __init__(self) -> None: + """Инициализация объекта окружения.""" try: - self.env = os.getenv('ENV') - self.access_token = "" + self.env: str = os.getenv('ENV', self.TEST) + self.access_token: str = "" + self.token: str = "" except KeyError: - self.env = self.TEST + self.env: str = self.TEST - def get_base_url(self): - """Возвращает базовый URL для текущего окружения. - - Returns: - str: Базовый URL с учётом особенностей окружения - - Raises: - Exception: Если значение переменной ENV неизвестно - """ + def get_base_url(self) -> 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_request_url(self): - """Возвращает URL для API-запросов. - - Returns: - str: URL для запросов - - Raises: - Exception: Если значение переменной ENV неизвестно - """ + def get_request_url(self) -> 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): - """Устанавливает токен доступа. - - Args: - token (str): Новый токен доступа - """ + def set_access_token(self, token: str) -> None: + """Устанавливает токен доступа.""" self.token = token - def get_access_token(self): - """Возвращает текущий токен доступа. - - Returns: - str: Текущий токен доступа - """ + def get_access_token(self) -> str: + """Возвращает текущий токен доступа.""" return self.token -host = Environment() \ No newline at end of file +host: Environment = Environment() \ No newline at end of file