import os
# import socket

from time import time

CMF_VERSION = None

CMF_FOLDER = os.path.dirname(os.path.abspath(__file__))
REPO_FOLDER = os.path.dirname(CMF_FOLDER)
# SERVER_NAME = socket.gethostname()
PROJECT_DIR = os.getcwd()  # os.path.dirname(os.path.dirname(__file__))
DEMO_IDS_FILE = f'{PROJECT_DIR}/custom/demo_ids.json'

DEPLOY_VERSION = os.getenv('DEPLOY_VERSION', str(time()))

AUTH_ENABLED = True
WHATSAPP_MESSENGER_URL = None
WHATSAPP_WEB_SOCKET = None
ORG_NAME = None
data_sources = {}
DEBUG = False
RAISE_LAZYLOAD = False  # Падаем, при неявной ленивой подгрузке полей.
ORM_DEFAULT_FIELDS = []  # правило загрузки полей по-умолчанию
PHONE_REGIONS = ['RU']

CACHE_MAX_OBJ_SIZE = 5 * 1000 * 1000

CMF_ADMIN_CODE = None  # Код (email) пользователя-администратора системы
SERVICES = []
PUB_ACCEPT_TYPES = None
# DEPRECATED не использовать
PROJECT_NAME = None
######
SUPPORT_URL = 'https://evateam.ru/support'
REMOTE_DEBUG_SERVER = '127.0.0.1'
REMOTE_DEBUG_PORT = 12345
EVA_VERSION = None
EVA_BRANCH = None
PRODUCTION = None
DISABLE_PERMISSIONS = False
IS_BOX_VERSION = False
BZPYTHON_ENABLED = True
BZPYTHON_ALLOWED_LIBS = []
IS_AUTHORIZATOR = False
# для симметричного шифрования токена сессии, чтобы не могли чужой угадать
EVA_INSTANCE_KEY = 'aes:iv:key' # AES:5840e39614d7c08f54ded229dd351d59:0a9ee15ab0f1af6c01503bd388f7ad6153eba339be87950d9ee5973c02bd87cf

# Настройка доступа в интернет через proxy
# Пример прокси без пароля:
# EGRESS_PROXY="proxyhost:proxyport"
EGRESS_PROXY = None
# Пример прокси с паролем:
# EGRESS_PROXY="username:password@proxyhost:proxyport"
#
# Чтобы скачивание обновления через rsync использовало proxy, укажите:
RSYNC_USE_PROXY = 0
LOG_LEVEL = 'INFO'
BASE_HREF = None  # Example /eva
EXTERNAL_PORT_HTTPS = None
# Логирование через rsyslog
RSYSLOG_HOST=None
RSYSLOG_PORT=None

# Для записи ИБ Аудита в файл
IB_AUDIT_FILE=None
# Для отправки по rsyslog
IB_AUDIT_RSYSLOG_HOST=None
IB_AUDIT_RSYSLOG_PORT=None

# Опция для отключения режима дополнительной блокировки
M2M_DUB_PROTECT_LOCK = True

# Экспериментальные опции оптимизаций TEM-1625043613
ORM_ORDERBY_IDX_SKIP = False

IB_AUDIT_RSYSLOG_PROTO='udp'

# Экспериментальные опции оптимизаций TEM-1625043697
ORM_M2M_EXISTS_VIA_JOIN = False
ORM_RELCACHE_EXISTS_VIA_JOIN = False

# Экспериментальные опции - оптимизированный ORM update
ORM_RAW_UPDATE_V2 = True

# Экспериментальная опция - отключение кеша для job daemon
JOB_DAEMON_DISABLE_CACHE = True

# Пока по-умолчанию выключаем, но стремимся включить после стабилизации.
CSP_ENABLED = False
