pyproger/generate_dotenv.py

78 lines
3.0 KiB
Python
Raw Permalink Normal View History

import os
import uuid
2023-10-10 22:44:32 +03:00
from datetime import datetime as dt
from dotenv import load_dotenv
2024-01-03 11:15:35 +03:00
dotenv_path = os.path.join(os.path.dirname(__file__), ".env")
if os.path.exists(dotenv_path):
load_dotenv(dotenv_path)
2023-10-12 15:05:34 +03:00
def cls():
os.system("cls" if os.name == "nt" else "clear")
2023-10-10 22:44:32 +03:00
2023-10-12 15:05:34 +03:00
with open(dotenv_path, "a") as f:
if os.getenv("BRAND") is None:
cls()
print("\033[32m{}\033[0m ".format("Введите название проекта."))
print(
"Это название будет отображаться в строке",
"меню и футере на страницах сайта",
sep="\n",
2023-10-10 22:44:32 +03:00
)
2023-10-12 15:05:34 +03:00
br = input("-> ")
f.writelines(f"BRAND={br}\n")
2023-10-10 22:44:32 +03:00
2023-10-12 15:05:34 +03:00
print("\033[32m{}\033[0m ".format("Настройка блока copyright в футере сайта"))
2023-10-10 22:44:32 +03:00
if os.getenv("COPYRIGHT_YEAR") is None:
start_date = dt.utcnow().strftime("%Y")
f.writelines(f"COPYRIGHT_YEAR={start_date}\n")
if os.getenv("COPYRIGHT_NAME") is None:
name = input("Введите имя для для футера:")
f.writelines(f"COPYRIGHT_NAME={name}\n")
if os.getenv("COPYRIGHT_LINK") is None:
print("Введите ссылку для футера:")
print(
"email('something@somthing.else) или веб адрес полностью('http://anysite.any')"
)
2023-10-10 22:44:32 +03:00
link = input(">:")
if link.startswith("http"):
f.writelines(f"COPYRIGHT_LINK={link}\n")
else:
f.writelines(f"COPYRIGHT_LINK=mailto:{link}\n")
if os.getenv("COPYRIGHT_CITY") is None:
name = input("Введите свой город для для футера:")
f.writelines(f"COPYRIGHT_CITY={name}\n")
2023-10-12 15:05:34 +03:00
print("\033[32m{}\033[0m ".format("Генерирую SECRET_KEY..."))
if os.getenv("SECRET_KEY") is None:
f.writelines(f"SECRET_KEY={uuid.uuid4().hex}\n")
print("_Ok_")
else:
print("SECRET_KEY уже установлен, пропускаю")
print("\033[32m{}\033[0m ".format('Генерирую "Соль"...'))
if os.getenv("SECURITY_PASSWORD_SALT") is None:
f.writelines(f"SECURITY_PASSWORD_SALT={uuid.uuid4().hex}\n")
print("_Ok_")
else:
print("SECURITY_PASSWORD_SALT уже установлен, пропускаю")
if os.getenv("SQLALCHEMY_DATABASE_URI") is None:
print(
"\033[32m{}\033[0m ".format("Настроки подключения к базе данных Posgresql:")
)
login = input("Введите логин пользователя бд: ")
passwd = input("Пароль: ")
db = input("Название бд (по умолчанию pyprogerdb):") or "pyprogerdb"
ip = input("Адрес бд (по умолчанию localhost)") or "localhost"
port = input("Порт подключения: (по умолчанию 5432)") or "5432"
f.writelines(
f"SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://{login}:{passwd}@{ip}:{port}/{db}\n"
)