Реализованы все типы операций, скрипт готов.

main
none 8 months ago
parent cdd0cfd066
commit 40fde0b111

@ -1,14 +1,15 @@
from os import system from os import system
from db import * from db import *
from verify import *
from shutil import copyfile, make_archive, rmtree
print("(1) Создать сайт") print("(1) Создать сайт")
print("(2) Обновить сайт") print("(2) Обновить сайт")
print("(3) Сменить тип") print("(3) Сменить тип")
op = input(">> ") op = input(">> ")
if op == "1": if op == "1":
from verify import *
from shutil import copyfile, make_archive
from domain_check import * from domain_check import *
print("\nДомены: .jet") print("\nДомены: .jet")
@ -19,22 +20,74 @@ if op == "1":
print("\n(1) Статичный / (2) Динамичный") print("\n(1) Статичный / (2) Динамичный")
type = input("Тип: ") type = input("Тип: ")
# Создаём папку и ключи для подписи
system(f"mkdir mysites/{domain}") system(f"mkdir mysites/{domain}")
key_gen(f"mysites/{domain}") key_gen(f"mysites/{domain}")
copyfile(f"mysites/{domain}.pem", f"mysites/{domain}/{domain}.pem") copyfile(f"mysites/{domain}.pem", f"mysites/{domain}/{domain}.pem")
if type == "1": if type == "1":
conf = {"type": "static", "ver": 1} conf = {"type": "static", "ver": 1}
write(conf, f"mysites/{domain}/config.json")
elif type == "2": elif type == "2":
port = input("Порт: ") port = input("Порт: ")
conf = {"type": "dynamic", "ver": 1, "port": int(port)} 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}") make_archive(f"mysites/{domain}", "zip", f"mysites/{domain}")
sign(f"mysites/{domain}.zip", f"mysites/{domain}.key", f"mysites/{domain}") sign(f"mysites/{domain}.zip", f"mysites/{domain}.key", f"mysites/{domain}")
elif op == "2": 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": 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}")

Loading…
Cancel
Save