Выбор карт вынесен в отдельную функцию choose_map + зачатки modinstall
This commit is contained in:
parent
d40320beef
commit
b5251d4984
69
dodo.py
69
dodo.py
@ -27,6 +27,7 @@ if x>0:
|
|||||||
list_config.remove('.directory')
|
list_config.remove('.directory')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def logging(l):
|
def logging(l):
|
||||||
"Записываем логи в файл"
|
"Записываем логи в файл"
|
||||||
with open(dir_server + "logs", "a") as filelog:
|
with open(dir_server + "logs", "a") as filelog:
|
||||||
@ -77,6 +78,17 @@ create_dir(dir_server)
|
|||||||
create_dir(config_dodo)
|
create_dir(config_dodo)
|
||||||
|
|
||||||
|
|
||||||
|
@dodo.command(help='Установка модов, укажите через запятую id модов')
|
||||||
|
@click.option('--id', default="", help='id модификаций из мастерской steam')
|
||||||
|
def modinstall(id, map_server=list_config):
|
||||||
|
print(id)
|
||||||
|
print(type(id))
|
||||||
|
print("Выберите карты, которым добавить моды")
|
||||||
|
map_server=choose_map(map_server)
|
||||||
|
print("map_server=",map_server)
|
||||||
|
print("Перезагрузите сервера для установки модов")
|
||||||
|
|
||||||
|
|
||||||
@dodo.command(help='Для конфигурирования параметров запускаемого сервера или кластера серверов')
|
@dodo.command(help='Для конфигурирования параметров запускаемого сервера или кластера серверов')
|
||||||
def config(map_server=list_config):
|
def config(map_server=list_config):
|
||||||
query_p = []
|
query_p = []
|
||||||
@ -239,31 +251,10 @@ def servers(map_servers=list_config):
|
|||||||
|
|
||||||
@dodo.command(help='Для запуска, сконфигурированного сервера или кластера')
|
@dodo.command(help='Для запуска, сконфигурированного сервера или кластера')
|
||||||
def start(map_server=list_config):
|
def start(map_server=list_config):
|
||||||
map_choise = []
|
if map_server==[]:
|
||||||
while True:
|
return print("Нет карт для запуска")
|
||||||
"Проверка на выбор имеющихся карт"
|
print("Выберите карты для запуска")
|
||||||
check = True
|
map_server = choose_map(map_server)
|
||||||
for i in range(len(map_server)):
|
|
||||||
print(f"{i+1}) {map_server[i]}")
|
|
||||||
|
|
||||||
map_list = input("Выбери карты для запуска в формате 1 2 3 или 1,2,3")
|
|
||||||
map_list = map_list.replace(',', ' ')
|
|
||||||
map_list = list(set(map_list.split()))
|
|
||||||
try:
|
|
||||||
for s in map_list:
|
|
||||||
if int(s) > len(map_server):
|
|
||||||
check = False
|
|
||||||
if len(map_list) <= len(map_server) and check == True:
|
|
||||||
break
|
|
||||||
except:
|
|
||||||
logging(traceback.format_exc())
|
|
||||||
logging(f"Ошибка при выборе карт для запуска, пользователь ввел - {map_list}")
|
|
||||||
print("Неправильный ввод")
|
|
||||||
|
|
||||||
|
|
||||||
for j in str(map_list):
|
|
||||||
map_choise.append(map_server[int(j) - 1])
|
|
||||||
map_server = map_choise
|
|
||||||
|
|
||||||
for i in map_server:
|
for i in map_server:
|
||||||
cluster_server, name_server, port_server, query_port, password_server, max_players, dir_server, mods_id, listen_server, cluster_id, cluster_dir_ovverride = read_yaml(i)
|
cluster_server, name_server, port_server, query_port, password_server, max_players, dir_server, mods_id, listen_server, cluster_id, cluster_dir_ovverride = read_yaml(i)
|
||||||
@ -280,6 +271,34 @@ def start(map_server=list_config):
|
|||||||
else:
|
else:
|
||||||
print("Сервер не установлен, проверьте, достаточно ли места на диске для установки карты")
|
print("Сервер не установлен, проверьте, достаточно ли места на диске для установки карты")
|
||||||
|
|
||||||
|
|
||||||
|
def choose_map(map_server):
|
||||||
|
map_choise = []
|
||||||
|
while True:
|
||||||
|
"Проверка на выбор имеющихся карт"
|
||||||
|
check = True
|
||||||
|
for i in range(len(map_server)):
|
||||||
|
print(f"{i + 1}) {map_server[i]}")
|
||||||
|
|
||||||
|
map_list = input("Выбери карты в формате 1 2 3 или 1,2,3")
|
||||||
|
map_list = map_list.replace(',', ' ')
|
||||||
|
map_list = list(set(map_list.split()))
|
||||||
|
try:
|
||||||
|
for s in map_list:
|
||||||
|
if int(s) > len(map_server):
|
||||||
|
check = False
|
||||||
|
if len(map_list) <= len(map_server) and check == True:
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
logging(traceback.format_exc())
|
||||||
|
logging(f"Ошибка при выборе карт для запуска, пользователь ввел - {map_list}")
|
||||||
|
print("Неправильный ввод")
|
||||||
|
for j in str(map_list):
|
||||||
|
map_choise.append(map_server[int(j) - 1])
|
||||||
|
map_server = map_choise
|
||||||
|
return map_server
|
||||||
|
|
||||||
|
|
||||||
def read_yaml(map_server):
|
def read_yaml(map_server):
|
||||||
with open(f"{home_dir}/.config/dodo/{map_server}", "r") as yamlfile:
|
with open(f"{home_dir}/.config/dodo/{map_server}", "r") as yamlfile:
|
||||||
data = yaml.load(yamlfile, Loader=yaml.FullLoader)
|
data = yaml.load(yamlfile, Loader=yaml.FullLoader)
|
||||||
|
Loading…
Reference in New Issue
Block a user