Запись и чтение файла map_server
This commit is contained in:
parent
8f6fd03081
commit
da32699409
42
dodo.py
42
dodo.py
@ -7,18 +7,28 @@ from pathlib import Path
|
|||||||
|
|
||||||
home_dir = Path.home()
|
home_dir = Path.home()
|
||||||
dir_server = f"{home_dir}/ARK_Servers/"
|
dir_server = f"{home_dir}/ARK_Servers/"
|
||||||
|
config_dodo = f"{home_dir}/.config/dodo/"
|
||||||
mods_id = ""
|
mods_id = ""
|
||||||
listen_server = True
|
listen_server = True
|
||||||
|
"------Узнаем список карт--------------"
|
||||||
|
try: #пробуем открыть конфиг с названиями карт, если файла нет создаем пустой массив
|
||||||
|
with open(config_dodo + "map_server") as x: #открытие конфига с названиями карт
|
||||||
|
map_server = x.readlines() #Собираем по строчно все названия карт в массив
|
||||||
|
except:
|
||||||
|
map_server = []
|
||||||
|
"--------------------------------------"
|
||||||
|
|
||||||
if not os.path.exists(dir_server):
|
def create_dir(directory):
|
||||||
os.mkdir(dir_server)
|
"Проверка и создание директории"
|
||||||
if not os.path.exists(f"{home_dir}/.config/dodo/"):
|
if not os.path.exists(directory):
|
||||||
os.mkdir(f"{home_dir}/.config/dodo/")
|
os.mkdir(directory)
|
||||||
|
|
||||||
|
create_dir(dir_server)
|
||||||
|
create_dir(config_dodo)
|
||||||
|
|
||||||
|
|
||||||
def yaml_edit():
|
def yaml_edit(map_server):
|
||||||
count_maps = 1
|
count_maps = 1
|
||||||
map_server = []
|
|
||||||
print("""Укажите требуется ли кластер?
|
print("""Укажите требуется ли кластер?
|
||||||
1. Да
|
1. Да
|
||||||
2. Нет""")
|
2. Нет""")
|
||||||
@ -87,6 +97,11 @@ def yaml_edit():
|
|||||||
max_players = input("")
|
max_players = input("")
|
||||||
|
|
||||||
yaml_create(cluster_server, map_server, name_server, port_server, query_port, password_server, max_players)
|
yaml_create(cluster_server, map_server, name_server, port_server, query_port, password_server, max_players)
|
||||||
|
"--------------Запись в файл map_server------------------------"
|
||||||
|
with open(f"{config_dodo}/map_server", "w") as file: #создаем или открываем файл с картами
|
||||||
|
for line in map_server: # пробегаемся по массиву с картами
|
||||||
|
file.write(line + '\n') # и записываем по строчно
|
||||||
|
"--------------------------------------------------------------"
|
||||||
return cluster_server, map_server, name_server, port_server, query_port, password_server, max_players, count_maps
|
return cluster_server, map_server, name_server, port_server, query_port, password_server, max_players, count_maps
|
||||||
|
|
||||||
|
|
||||||
@ -105,7 +120,7 @@ def yaml_create(cluster_server, map_server, name_server, port_server, query_port
|
|||||||
'ServerPath' : dir_server
|
'ServerPath' : dir_server
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
with open(f"{home_dir}/.config/dodo/{map_server[-1]}.yaml", 'w') as yamlfile:
|
with open(config_dodo + f"{map_server[-1]}.yaml", 'w') as yamlfile:
|
||||||
data = yaml.dump(settings_dodo, yamlfile)
|
data = yaml.dump(settings_dodo, yamlfile)
|
||||||
print("Конфиг создан")
|
print("Конфиг создан")
|
||||||
|
|
||||||
@ -153,7 +168,14 @@ def read_yaml(map_server):
|
|||||||
cluster_server = data['Cluster']
|
cluster_server = data['Cluster']
|
||||||
return cluster_server, name_server, port_server, query_port, password_server, max_players, dir_server, mods_id, listen_server
|
return cluster_server, name_server, port_server, query_port, password_server, max_players, dir_server, mods_id, listen_server
|
||||||
|
|
||||||
|
c = input("""Введите
|
||||||
|
1.Настроить сервера
|
||||||
|
2.Запустить сервера""")
|
||||||
|
if c=="1":
|
||||||
|
cluster_server, map_server, name_server, port_server, query_port, password_server, max_players, count_maps = yaml_edit(map_server)
|
||||||
|
m = input("Запустить сервер? y/N")
|
||||||
|
if m.lower() == "y":
|
||||||
|
install(map_server)
|
||||||
|
|
||||||
cluster_server, map_server, name_server, port_server, query_port, password_server, max_players, count_maps = yaml_edit()
|
elif c=="2":
|
||||||
|
install(map_server)
|
||||||
install(map_server)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user