]>
apps.delaporte.us Git - dotfiles.git/blob - invoke/minetest/tasks.py
1 from invoke
import task
4 home
= os
.path
.expanduser('~')
5 flat_pak_root
= f
"{home}/.var/app/net.minetest.Minetest"
6 easy_dir
= f
"{home}/minetest/"
9 link_to
= f
"{home}/.var/app/net.minetest.Minetest/.minetest"
11 # link_to = f"{home}/.minetest/"
15 result
= c
.run('which minetest')
20 print("Installing...")
21 # result = c.run('which minetest')
23 c
.run("sudo apt install flatpak")
24 c
.run("sudo apt install gnome-software-plugin-flatpak")
25 c
.run("flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo")
26 c
.run("flatpak install flathub net.minetest.Minetest -y")
27 result
= c
.run('which minetest')
28 print(f
"MineTest installed at {result.stdout}")
29 print("To run: flatpak run net.minetest.Minetest")
33 if not os
.path
.isdir(dir):
34 print(f
"No backups found at {dir}")
36 print(f
"Will restore MineTest backup from {dir}")
38 world_folder
= f
"{home}/minetest/worlds"
39 c
.run(f
"mkdir -p {world_folder}")
40 print("Restoring backed up worlds...")
41 c
.run(f
"mv {dir}/* {world_folder}")
44 # DONT - flatpak hates symlinks
46 # c.run(f"ls -al {link_to}")
47 if os
.path
.isdir(link_to
):
48 print("Moving existing files...")
49 c
.run(f
"mv {link_to} {easy_dir}")
50 if not os
.path
.isdir(easy_dir
):
51 raise ValueError(f
"{easy_dir} not found.")
52 if os
.path
.exists(link_to
):
53 print(f
"Doing nothing. {link_to} exists.")
54 if os
.path
.isdir(easy_dir
) and not os
.path
.exists(link_to
):
56 c
.run(f
"ln -s {easy_dir} {link_to}")
57 # c.run(f"ls -al {link_to}")
61 print(f
"+ Minetest data assumed to be at {link_to}")
62 print(f
"+ Easy folder assumed to be {easy_dir}")
64 c
.run(f
"ls -ald {link_to} | grep minetest")
65 print(f
"+ List Worlds ---")
66 cmd
= "flatpak run net.minetest.Minetest --gameid list"
67 cmd
= "flatpak run net.minetest.Minetest --gameid minetest --worldlist path"
71 def serve(c
, world
="SurfaceWorld"):
72 cmd
= f
"flatpak run net.minetest.Minetest --gameid minetest --server --world {world}"