feat(environment): добавлены аннотации типов для класса окружения
- Добавлены аннотации типов для атрибутов класса: * 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 Изменения улучшают статический анализ кода и документирование.pull/1/head
parent
e28d9ef339
commit
1ca9822bac
|
|
@ -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()
|
||||
host: Environment = Environment()
|
||||
Loading…
Reference in New Issue