From 40fde0b111cbf30d5943712ec2ad7e2168785eae Mon Sep 17 00:00:00 2001 From: none Date: Mon, 19 Feb 2024 19:43:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D1=8B=20=D0=B2=D1=81=D0=B5=20=D1=82=D0=B8?= =?UTF-8?q?=D0=BF=D1=8B=20=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B9?= =?UTF-8?q?,=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=B3=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site_creator.py | 65 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 6 deletions(-) diff --git a/site_creator.py b/site_creator.py index f398dfb..349800b 100644 --- a/site_creator.py +++ b/site_creator.py @@ -1,14 +1,15 @@ from os import system from db import * +from verify import * +from shutil import copyfile, make_archive, rmtree + print("(1) Создать сайт") print("(2) Обновить сайт") print("(3) Сменить тип") op = input(">> ") if op == "1": - from verify import * - from shutil import copyfile, make_archive from domain_check import * print("\nДомены: .jet") @@ -19,22 +20,74 @@ if op == "1": print("\n(1) Статичный / (2) Динамичный") type = input("Тип: ") + # Создаём папку и ключи для подписи system(f"mkdir mysites/{domain}") key_gen(f"mysites/{domain}") copyfile(f"mysites/{domain}.pem", f"mysites/{domain}/{domain}.pem") if type == "1": conf = {"type": "static", "ver": 1} - write(conf, f"mysites/{domain}/config.json") elif type == "2": port = input("Порт: ") conf = {"type": "dynamic", "ver": 1, "port": int(port)} - write(conf, f"mysites/{domain}/config.json") + write(conf, f"mysites/{domain}/config.json") + # Архивируем и создаём сигнатуру для подтверждения неизменности архива make_archive(f"mysites/{domain}", "zip", f"mysites/{domain}") sign(f"mysites/{domain}.zip", f"mysites/{domain}.key", f"mysites/{domain}") elif op == "2": - pass + domain = input("\nДомен сайта: ") + if not os.path.exists(f"mysites/{domain}"): + print("Не существует такого сайта.") + exit() + + # Обновляем версию + conf = read(f"mysites/{domain}/config.json") + conf["ver"] = conf["ver"] + 1 + write(conf, f"mysites/{domain}/config.json") + + # Архивируем и создаём сигнатуру для подтверждения неизменности архива + make_archive(f"mysites/{domain}", "zip", f"mysites/{domain}") + sign(f"mysites/{domain}.zip", f"mysites/{domain}.key", f"mysites/{domain}") + elif op == "3": - pass + from os import rmdir + + domain = input("\nДомен сайта: ") + if not os.path.exists(f"mysites/{domain}"): + print("Не существует такого сайта.") + exit() + + print("\n(1) Статичный / (2) Динамичный") + type = input("Тип: ") + + if type == "1": + conf = read(f"mysites/{domain}/config.json") + conf["type"] = "static" + conf.pop("port") + elif type == "2": + conf = read(f"mysites/{domain}/config.json") + port = input("Порт: ") + + clean = input("Удалить все файлы (y/n): ") + if clean == "y": + # Удаляем папку, сохраняем конфиг и копируем публичный ключ + rmtree(f"mysites/{domain}") + system(f"mkdir mysites/{domain}") + copyfile(f"mysites/{domain}.pem", f"mysites/{domain}/{domain}.pem") + + conf["type"] = "dynamic" + conf["port"] = int(port) + write(conf, f"mysites/{domain}/config.json") + + # Обновляем версию + conf = read(f"mysites/{domain}/config.json") + conf["ver"] = conf["ver"] + 1 + write(conf, f"mysites/{domain}/config.json") + + # Архивируем и создаём сигнатуру для подтверждения неизменности архива + make_archive(f"mysites/{domain}", "zip", f"mysites/{domain}") + sign(f"mysites/{domain}.zip", f"mysites/{domain}.key", f"mysites/{domain}") + +