X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/blobdiff_plain/961fb1fe925ce4c61e399a94ac225b94c2fda8d7..965e892bc4b2e8e5b8879ac186f105478ffda2ec:/invoke/minetest/tasks.py diff --git a/invoke/minetest/tasks.py b/invoke/minetest/tasks.py index 05e1fca..47bcdb8 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') @@ -19,21 +29,65 @@ def install(c): print(f"MineTest installed at {result.stdout}") print("To run: flatpak run net.minetest.Minetest") - @task def restore(c, dir): if not os.path.isdir(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 games(c): + print(f"+ List Games ---") + cmd = f"{run_mt} --gameid list" + c.run(cmd) +@task +def play(c): + c.run(f"{run_mt}") + +@task +def worlds(c): + print(f"+ List Worlds ---") + 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 --worldname {world}" + c.run(cmd)