|
@@ -1,5 +1,8 @@
|
|
import os, json
|
|
import os, json
|
|
from src.settings import settings
|
|
from src.settings import settings
|
|
|
|
+from src.errors.instance_exception import instance_exception
|
|
|
|
+from src.errors.argument_exception import argument_exception
|
|
|
|
+from src.errors.file_exception import file_exception
|
|
|
|
|
|
class settings_manager (object):
|
|
class settings_manager (object):
|
|
# Объект настроек
|
|
# Объект настроек
|
|
@@ -35,7 +38,7 @@ class settings_manager (object):
|
|
self.__settings = settings()
|
|
self.__settings = settings()
|
|
# Выбрасываем ошибку, если тип __settings не соответствует нужному
|
|
# Выбрасываем ошибку, если тип __settings не соответствует нужному
|
|
if not isinstance(self.__settings, settings):
|
|
if not isinstance(self.__settings, settings):
|
|
- raise Exception("Невозможно создать экземпляр класса настроек")
|
|
|
|
|
|
+ raise instance_exception("Невозможно создать экземпляр класса настроек")
|
|
# Переносим считанные значения в инстанс настроек
|
|
# Переносим считанные значения в инстанс настроек
|
|
for key in self.__data.keys():
|
|
for key in self.__data.keys():
|
|
# Пропускаем, если у settings нет соответствующего свойства
|
|
# Пропускаем, если у settings нет соответствующего свойства
|
|
@@ -53,11 +56,11 @@ class settings_manager (object):
|
|
"""
|
|
"""
|
|
# Проверяем, чтобы путь был строкой
|
|
# Проверяем, чтобы путь был строкой
|
|
if not isinstance(filename, str):
|
|
if not isinstance(filename, str):
|
|
- raise TypeError("Неверный тип аргумента")
|
|
|
|
|
|
+ raise argument_exception("Неверный тип аргумента")
|
|
|
|
|
|
# Проверяем, чтобы путь не был пуст
|
|
# Проверяем, чтобы путь не был пуст
|
|
if len(filename) == 0:
|
|
if len(filename) == 0:
|
|
- raise ValueError("Неверная длина аргумента")
|
|
|
|
|
|
+ raise argument_exception("Неверная длина аргумента")
|
|
|
|
|
|
# Убираем leading/trailing пробелы
|
|
# Убираем leading/trailing пробелы
|
|
self.__filename = filename.strip()
|
|
self.__filename = filename.strip()
|
|
@@ -74,7 +77,7 @@ class settings_manager (object):
|
|
|
|
|
|
# Проверяем, существует ли файл по данному пути
|
|
# Проверяем, существует ли файл по данному пути
|
|
if not os.path.exists(settings_file):
|
|
if not os.path.exists(settings_file):
|
|
- raise FileNotFoundError("Невозможно загрузить файл настроек")
|
|
|
|
|
|
+ raise file_exception("Файл не найден")
|
|
|
|
|
|
# Открываем файл и парсим JSON
|
|
# Открываем файл и парсим JSON
|
|
with open(settings_file, "r", encoding="UTF-8") as read_file:
|
|
with open(settings_file, "r", encoding="UTF-8") as read_file:
|