83 lines
2.9 KiB
Python
83 lines
2.9 KiB
Python
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() |