Добавлено обновление модов

This commit is contained in:
Евгений Храмов 2023-05-27 13:52:26 +03:00
commit 0d8b8464a3

13
hlna.py

@ -511,10 +511,10 @@ def mod(g, m, i, id_mods_ark):
if not os.path.isdir(dir_mods_ark): if not os.path.isdir(dir_mods_ark):
create_dir(dir_mods_ark) create_dir(dir_mods_ark)
id_mods_ark = id_mods_ark[0].split(',') id_mods_ark = id_mods_ark[0].split(',')
if id_mods_ark[1] != "":
for id_mod in id_mods_ark: for id_mod in id_mods_ark:
dir_mod_ark = f"{dir_mods_ark}/{id_mod}" dir_mod_ark = f"{dir_mods_ark}/{id_mod}"
if not os.path.isfile(f"{dir_mod_ark}.mod"): if not os.path.isfile(f"{dir_mod_ark}.mod"):
print_line(f"{dir_mod_ark}.mod")
if i: if i:
moddownload(g, m, id_mod, dir_mod_ark) moddownload(g, m, id_mod, dir_mod_ark)
else: else:
@ -523,15 +523,17 @@ def mod(g, m, i, id_mods_ark):
os.system(f"rm {dir_mods_ark}/{id_mod}.mod") os.system(f"rm {dir_mods_ark}/{id_mod}.mod")
print_line(f"{dir_mods_ark}/{id_mod}.mod удалён") print_line(f"{dir_mods_ark}/{id_mod}.mod удалён")
else: else:
print_line(f"Мод уже установлен")
modupdate(g, m, id_mod, dir_mod_ark) modupdate(g, m, id_mod, dir_mod_ark)
else:
print_line("Введите id модов через запятую без пробелов")
else: else:
print_line("Не поддерживаемая игра") print_line("Не поддерживаемая игра")
def modupdate(g, m, id_mod, dir_mod_ark): def modupdate(g, m, id_mod, dir_mod_ark):
if g == "ark": if g == "ark":
# if not os.path.isfile(os.path.join(dir_ark_mods, f"appworkshop_{id_mod}.acf")): print_line(f"Проверяем обновление мода {id_mod}")
# return
with open(os.path.join(dir_mod_ark, f"appworkshop_346110.acf"), "r") as f: with open(os.path.join(dir_mod_ark, f"appworkshop_346110.acf"), "r") as f:
content = f.readlines() content = f.readlines()
content = "".join(content) content = "".join(content)
@ -554,13 +556,14 @@ def modupdate(g, m, id_mod, dir_mod_ark):
steam_date = json_zapros['response']['publishedfiledetails'][0]['time_updated'] steam_date = json_zapros['response']['publishedfiledetails'][0]['time_updated']
if int(steam_date) != int(locale_date): if int(steam_date) != int(locale_date):
print_line(f"Обновляем мод {id_mod}")
moddownload(g, m, id_mod, dir_mod_ark) moddownload(g, m, id_mod, dir_mod_ark)
else: else:
print_line(f"Мод {id_mod} обновлен") print_line(f"Мод {id_mod} обновлен")
def modupdateall(g, m): def modupdateall(g, m):
print_line("Вход в обновление всех") print_line("Проверяем обновление всех установленных модов")
for file in os.listdir(dir_mods_ark): for file in os.listdir(dir_mods_ark):
if os.path.isfile(os.path.join(dir_mods_ark, file)): if os.path.isfile(os.path.join(dir_mods_ark, file)):
if file.endswith('.mod'): if file.endswith('.mod'):
@ -581,7 +584,7 @@ def moddownload(g, m, id_mod, dir_mod_ark):
return return
if os.path.isfile(f"{dir_workshop_ark}/appworkshop_{id_game_workshop}.acf"): if os.path.isfile(f"{dir_workshop_ark}/appworkshop_{id_game_workshop}.acf"):
os.system(f"rm {dir_workshop_ark}/appworkshop_{id_game_workshop}.acf") os.system(f"rm {dir_workshop_ark}/appworkshop_{id_game_workshop}.acf")
os.system(f"steamcmd +login anonymous +workshop_download_item {id_game_workshop} {id_mod} +quit") os.system(f"steamcmd +force_install_dir {home_dir}/.local/share/Steam/ +login anonymous +workshop_download_item {id_game_workshop} {id_mod} +quit")
try: try:
for curdir, subdirs, files in os.walk(os.path.join(dir_steam_workshop)): for curdir, subdirs, files in os.walk(os.path.join(dir_steam_workshop)):
for file in files: for file in files: