Добавлена проверка на выбор карт, принимаются только номера имеющихся карт
This commit is contained in:
		
							
								
								
									
										68
									
								
								dodo.py
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								dodo.py
									
									
									
									
									
								
							| @@ -23,9 +23,9 @@ list_config.remove('.directory') | |||||||
|  |  | ||||||
| def print_line(text): | def print_line(text): | ||||||
|     "Добавление тире вокруг текста, потом сюда можно поместить и расскраску текста" |     "Добавление тире вокруг текста, потом сюда можно поместить и расскраску текста" | ||||||
|     print("-"*20) |     print(Fore.YELLOW + "-"*25) | ||||||
|     print(text) |     print(Fore.GREEN + text) | ||||||
|     print("-"*20) |     print(Fore.YELLOW + "-"*25 + Fore.RESET_ALL) | ||||||
|  |  | ||||||
|  |  | ||||||
| def create_dir(directory): | def create_dir(directory): | ||||||
| @@ -38,7 +38,10 @@ def check_int(number=""): | |||||||
|     "Проверка на ввод числа" |     "Проверка на ввод числа" | ||||||
|     while True: |     while True: | ||||||
|         try: |         try: | ||||||
|             x = int(input(number)) |             x = input(number) | ||||||
|  |             x = x.replace(' ', '') | ||||||
|  |             x = x.replace(',', '') | ||||||
|  |             x = int(x) | ||||||
|             return x |             return x | ||||||
|         except ValueError: |         except ValueError: | ||||||
|             print("Введите число") |             print("Введите число") | ||||||
| @@ -62,28 +65,37 @@ def config(map_server=list_config): | |||||||
|         cluster_server = True |         cluster_server = True | ||||||
|     else: |     else: | ||||||
|         cluster_server = False |         cluster_server = False | ||||||
|  |  | ||||||
|     if cluster_server == True: |     if cluster_server == True: | ||||||
|         cluster_id = input("Укажите id для кластера, любое сочетание символов: \n") |         cluster_id = input("Укажите id для кластера, любое сочетание символов: \n") | ||||||
|         create_dir(dir_server + cluster_id) |         create_dir(dir_server + cluster_id) | ||||||
|         cluster_dir_override = (dir_server + cluster_id) |         cluster_dir_override = (dir_server + cluster_id) | ||||||
|  |  | ||||||
|     if map_server != []: |     if map_server != []: | ||||||
|         print("Уже установленные карты: ", map_server) |         print("Уже установленные карты: ") | ||||||
|  |         for i in map_server: | ||||||
|  |             print(i) | ||||||
|  |  | ||||||
|     count_maps = check_int("Укажите количество карт: \n") |     count_maps = check_int("Укажите количество карт: \n") | ||||||
|     for i in range(int(count_maps)): |     for i in range(count_maps): | ||||||
|         amount_map = check_int("""Выберите карту из списка указав номер |         while True: | ||||||
|         1. The Island |             os.system("clear") | ||||||
|         2. The Center |             amount_map = check_int("""Выберите карту из списка указав номер | ||||||
|         3. Scorched Earth |             1. The Island | ||||||
|         4. Ragnarok |             2. The Center | ||||||
|         5. Aberration |             3. Scorched Earth | ||||||
|         6. Extinction |             4. Ragnarok | ||||||
|         7. Valguero |             5. Aberration | ||||||
|         8. Genesis: Part 1 |             6. Extinction | ||||||
|         9. Crystal Isles |             7. Valguero | ||||||
|         10. Genesis: Part 2 |             8. Genesis: Part 1 | ||||||
|         11. Lost Island |             9. Crystal Isles | ||||||
|         12. Fjordur |             10. Genesis: Part 2 | ||||||
|         : """) |             11. Lost Island | ||||||
|  |             12. Fjordur | ||||||
|  |             : """) | ||||||
|  |             if 0<=amount_map<=12: | ||||||
|  |                 break | ||||||
|         match amount_map: |         match amount_map: | ||||||
|             case 1: |             case 1: | ||||||
|                 map_server.append("TheIsland") |                 map_server.append("TheIsland") | ||||||
| @@ -140,12 +152,24 @@ def yaml_create(cluster_server, map_server, name_server, port_server, query_port | |||||||
|         settings_dodo[0]['clusterdir'] = cluster_dir_override |         settings_dodo[0]['clusterdir'] = cluster_dir_override | ||||||
|     with open(config_dodo + f"{map_server[-1]}", 'w') as yamlfile: |     with open(config_dodo + f"{map_server[-1]}", 'w') as yamlfile: | ||||||
|         data = yaml.dump(settings_dodo, yamlfile) |         data = yaml.dump(settings_dodo, yamlfile) | ||||||
|         print("Конфиг создан") |         print(Fore.GREEN + "Конфиг создан" + Fore.RESET_ALL) | ||||||
|  |  | ||||||
| @dodo.command() | @dodo.command() | ||||||
| def start(map_server=list_config): | def start(map_server=list_config): | ||||||
|     map_choise = [] |     map_choise = [] | ||||||
|     map_list = check_int(map_server) |     while True: | ||||||
|  |         "Проверка на выбор имеющихся карт" | ||||||
|  |         for i in range(len(map_server)): | ||||||
|  |             print(f"{i}) {map_server[i]}") | ||||||
|  |         map_list = check_int(map_server) | ||||||
|  |         for k in range(map_list): | ||||||
|  |             if 0>map_list[k]>len(map_list) and len(map_list)>len(map_server): | ||||||
|  |                 print("Укажите карты для установки в формате 1,3,5 или 145 или 1 2 3") | ||||||
|  |             else: | ||||||
|  |                 break | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     for j in str(map_list): |     for j in str(map_list): | ||||||
|         map_choise.append(map_server[int(j) - 1]) |         map_choise.append(map_server[int(j) - 1]) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user