From 65609948268287cd5f63d96fbdc9e937061c5cc1 Mon Sep 17 00:00:00 2001 From: a11 Date: Fri, 24 Feb 2023 02:26:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20=D1=82=D1=83?= =?UTF-8?q?=D0=BF=D0=BD=D1=8F=D0=BA=D0=B0,=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D1=82,=20=D0=BD=D0=BE=20=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BE=D0=B4=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hlna.py | 64 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/hlna.py b/hlna.py index d58e520..f6e0b3a 100755 --- a/hlna.py +++ b/hlna.py @@ -21,10 +21,6 @@ mods_id = "" listen_server = True -def complete_env_vars(ctx, param, incomplete): - return [k for k in os.environ if k.startswith(incomplete)] - - @click.group() def hlna(): pass @@ -85,7 +81,7 @@ def config(name_server=list_config): port_s = [] query_p = [] id_srv = {} - + data = {} cluster_dir_override = "" cluster_id = "" @@ -105,8 +101,11 @@ def config(name_server=list_config): if name_server != []: print("Уже установленные карты: ") for i in name_server: - con = read_yaml(i) - print(f"{i} : {con['map']}") + data = read_yaml(i) + print(f"{i} : {data['map']}") + port_s.append(data['Port']) + query_p.append(data['QueryPort']) + id_srv[data['SessionName']] = data['id_server'] count_maps = check_int("Укажите количество карт: \n") if count_maps == 0: # 0 возвращает check_int когда, ничего не было введено @@ -136,14 +135,6 @@ def config(name_server=list_config): if 0 < amount_map <= 12: break - for k in name_server: - data = read_yaml(k) - port_s.append(data['Port']) - query_p.append(data['QueryPort']) - id_srv[data['map']] = data['id_server'] - - print(id_srv) - if amount_map == 1: map_s = "TheIsland" elif amount_map == 2: @@ -168,25 +159,40 @@ def config(name_server=list_config): map_s = "LostIsland" elif amount_map == 12: map_s = "Fjordur" + else: + # Если вдруг каким-то боком проверка не отработает и не будет нужной цифры + map_s = 'TheIsland' - name_server.append(input("Укажите название Сервера: \n")) - if name_server[-1] == "": - name_server.pop(); name_server.append(map_s) # если enter, то ставим последним элементом карту - - data = read_yaml(name_server[-1]) - while True: - id_server = input("Укажите метку для запуска или конфигурирования этой карты, по умолчанию название карты") - if id_server == "": - print_line("Значение по умолчанию") + if name_server != []: + data = read_yaml(name_server[-1]) + h = (input("Укажите название Сервера: \n")) + if h == '': + if map_s in name_server: + name_server.pop() + name_server.append(map_s + name_server.count(map_s)) else: - if id_srv != []: # Если есть хоть какой-то id - if id_server in id_srv: # Если введёное уже есть в списке меток + name_server.pop(); name_server.append(map_s) # если enter, то ставим последним элементом карту + else: + name_server.append(h) + + + + while True: + id_server = input("Укажите метку для запуска или конфигурирования этой карты") + if id_server == "": + if id_srv == {}: + print_line("Значение по умолчанию") + else: + if id_srv != {}: # Если есть хоть какой-то id + if id_server in id_srv[name_server[-1]]: # тут ошибка ! + break + if id_server in id_srv.values(): # Если введёное уже есть в списке меток print_line("Метка уже занята") else: - id_srv[data['map']] = data['id_server'] + id_srv[name_server[-1]] = id_server break else: - id_srv[data['map']] = data['id_server'] + id_srv[name_server[-1]] = id_server break while True: @@ -218,7 +224,7 @@ def config(name_server=list_config): if max_players == 0: max_players = 70 - yaml_create(cluster_server, map_s, name_server[-1], port_server, query_port, password_server, max_players, cluster_id, cluster_dir_override, id_srv[map_s]) + yaml_create(cluster_server, map_s, name_server[-1], port_server, query_port, password_server, max_players, cluster_id, cluster_dir_override, id_srv[name_server[-1]]) def yaml_create(cluster_server, map_s, name_server, port_server, query_port, password_server, max_players, cluster_id, cluster_dir_override, id_srv):