2025-06-09 10:17:12 +05:00
|
|
|
|
# init_config.py
|
|
|
|
|
|
import configparser
|
|
|
|
|
|
import os
|
|
|
|
|
|
import secrets
|
|
|
|
|
|
import logging
|
|
|
|
|
|
|
|
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
2025-06-12 16:32:05 +05:00
|
|
|
|
|
2025-06-09 10:17:12 +05:00
|
|
|
|
def init_config():
|
|
|
|
|
|
"""Создаёт конфигурационный файл с SECRET_KEY"""
|
|
|
|
|
|
config_path = "/etc/gonets/config.ini"
|
|
|
|
|
|
config_dir = os.path.dirname(config_path)
|
|
|
|
|
|
|
|
|
|
|
|
if os.path.exists(config_path):
|
2025-06-12 16:32:05 +05:00
|
|
|
|
logger.info(
|
|
|
|
|
|
f"Конфигурационный файл {config_path} уже существует, пропускаем инициализацию"
|
|
|
|
|
|
)
|
2025-06-09 10:17:12 +05:00
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
secret_key = secrets.token_urlsafe(32)
|
|
|
|
|
|
os.makedirs(config_dir, exist_ok=True)
|
|
|
|
|
|
config = configparser.ConfigParser()
|
2025-06-12 16:32:05 +05:00
|
|
|
|
config["JWT"] = {"secret_key": secret_key}
|
2025-06-09 10:17:12 +05:00
|
|
|
|
with open(config_path, "w") as config_file:
|
|
|
|
|
|
config.write(config_file)
|
|
|
|
|
|
os.chmod(config_path, 0o600)
|
|
|
|
|
|
logger.info(f"Создан конфигурационный файл {config_path}")
|
|
|
|
|
|
except Exception as e:
|
2025-06-12 16:32:05 +05:00
|
|
|
|
logger.error(
|
|
|
|
|
|
f"Ошибка при создании конфигурационного файла: {type(e).__name__} - {str(e)}"
|
|
|
|
|
|
)
|
2025-06-09 10:17:12 +05:00
|
|
|
|
raise
|
|
|
|
|
|
|
2025-06-12 16:32:05 +05:00
|
|
|
|
|
2025-06-09 10:17:12 +05:00
|
|
|
|
if __name__ == "__main__":
|
2025-06-12 16:32:05 +05:00
|
|
|
|
init_config()
|