X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/1e0f762476623c5a2198c7b723d255a5bcb5050c..1528584d79d3a35c38ada9f16eb1d53cb858bf0a:/invoke/minetest/tasks.py diff --git a/invoke/minetest/tasks.py b/invoke/minetest/tasks.py index 688e168..10abbb4 100644 --- a/invoke/minetest/tasks.py +++ b/invoke/minetest/tasks.py @@ -1,6 +1,16 @@ from invoke import task import os +home = os.path.expanduser('~') +flat_pak_root = f"{home}/.var/app/net.minetest.Minetest" +easy_dir = f"{home}/minetest/" +run_mt = f"flatpak run net.minetest.Minetest" + +# flatpak +link_to = f"{home}/.var/app/net.minetest.Minetest/.minetest" +# default +# link_to = f"{home}/.minetest/" + @task def debug(c): result = c.run('which minetest') @@ -8,11 +18,16 @@ def debug(c): @task def install(c): + print("Installing...") + # result = c.run('which minetest') + # if not(result.ok): + c.run("sudo apt install flatpak") + c.run("sudo apt install gnome-software-plugin-flatpak") + c.run("flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo") + c.run("flatpak install flathub net.minetest.Minetest -y") result = c.run('which minetest') - if not(result.ok): - c.run("apt install minetest") - else: - print(f"MineTest installed at {result.stdout}") + print(f"MineTest installed at {result.stdout}") + print("To run: flatpak run net.minetest.Minetest") @task def restore(c, dir): @@ -20,14 +35,50 @@ def restore(c, dir): print(f"No backups found at {dir}") return print(f"Will restore MineTest backup from {dir}") - home = os.path.expanduser('~') - if os.path.isdir(f"{home}/.minetest") and not os.path.isdir("{home}/minetest"): - print(f"Moving .minetest to minetest and linking.") - c.run("mv ~/.minetest ~/minetest") - c.run("ln -s ~/minetest ~/.minetest") + world_folder = f"{home}/minetest/worlds" c.run(f"mkdir -p {world_folder}") + print("Restoring backed up worlds...") c.run(f"mv {dir}/* {world_folder}") print("Finished") +# DONT - flatpak hates symlinks +def link(c): + # c.run(f"ls -al {link_to}") + if os.path.isdir(link_to): + print("Moving existing files...") + c.run(f"mv {link_to} {easy_dir}") + if not os.path.isdir(easy_dir): + raise ValueError(f"{easy_dir} not found.") + if os.path.exists(link_to): + print(f"Doing nothing. {link_to} exists.") + if os.path.isdir(easy_dir) and not os.path.exists(link_to): + print("Linking...") + c.run(f"ln -s {easy_dir} {link_to}") + # c.run(f"ls -al {link_to}") +@task +def status(c): + print(f"+ Minetest data assumed to be at {link_to}") + print(f"+ Easy folder assumed to be {easy_dir}") + print(f"+ ls ---") + c.run(f"ls -ald {link_to} | grep minetest") + +@task +def world_list(c): + print(f"+ List Worlds ---") + cmd = f"{run_mt} --gameid list" + c.run(cmd) + cmd = f"{run_mt} --gameid minetest --worldlist path" + c.run(cmd) + + +@task +def version(c): + cmd = f"{run_mt} --version" + c.run(cmd) + +@task +def serve(c, world="SurfaceWorld"): + cmd = f"{run_mt} --gameid minetest --server --world {world}" + c.run(cmd)