import os from dotenv import load_dotenv # Загружаем переменные из .env файла в окружение load_dotenv() # --- ServiceDesk API Configuration --- SD_ACCESS_KEY = os.getenv("SDKEY") SD_BASE_URL = os.getenv("SD_BASE_URL") if not all([SD_ACCESS_KEY, SD_BASE_URL]): raise ValueError("Необходимо задать переменные окружения SDKEY и SD_BASE_URL") # --- Paths --- # Директория для хранения лог-файлов LOG_PATH = os.getenv("LOGPATH", ".") DB_PATH = os.getenv("BDPATH", ".") # По умолчанию - текущая папка DB_NAME = "fiscals.db" DB_FULL_PATH = os.path.join(DB_PATH, DB_NAME) JSON_FILES_PATH = os.getenv("JSONPATH") if not JSON_FILES_PATH: raise ValueError("Необходимо задать переменную окружения JSONPATH") # --- Sync Logic Configuration --- DEFAULT_OWNER_UUID = os.getenv("DEFAULT_OWNER_UUID") if not DEFAULT_OWNER_UUID: raise ValueError("Необходимо задать UUID владельца по умолчанию в DEFAULT_OWNER_UUID") # --- URLs for SD API --- # Используем f-строки для удобного формирования URL FIND_FRS_URL = f"{SD_BASE_URL}/find/objectBase$FR" FIND_WORKSTATIONS_URL = f"{SD_BASE_URL}/find/objectBase$Workstation" # URL для создания будет формироваться динамически, но базовый шаблон такой: CREATE_FR_URL = f"{SD_BASE_URL}/create-m2m/objectBase$FR" # URL для редактирования будет принимать UUID объекта EDIT_FR_URL_TEMPLATE = f"{SD_BASE_URL}/edit/{{uuid}}" # --- Testing Configuration --- # Установите в "True" для режима "сухого запуска" (dry run). # В этом режиме запросы на изменение/создание не будут отправляться в SD, # а будут сохраняться в локальные файлы для анализа. DRY_RUN = os.getenv('DRY_RUN', 'True').lower() in ('true', '1', 't') # Путь для сохранения тестовых выходных данных TEST_OUTPUT_PATH = os.path.join(os.path.dirname(__file__), 'test_output')