]> us-delaporte.pagekite.me Git - dotfiles.git/blobdiff - invoke/minetest/tasks.py
Update with clearer messages
[dotfiles.git] / invoke / minetest / tasks.py
index 8d7937e9cb139b83e6dc3cc69085aac18df8e3e8..169e118f9a5d7d04483af02db6b2d8ef80cd65b8 100644 (file)
@@ -1,12 +1,19 @@
 from invoke import task
-import os
 
+import datetime
+import os
 
-flat_pak_root = f"{home}/.var/app/net.minetest.Minetest"
 home = os.path.expanduser('~')
+flat_pak_root = f"{home}/.var/app/net.minetest.Minetest"
+root = f"{flat_pak_root}/.minetest"
+mod_dir = f"{root}/mods"
 easy_dir = f"{home}/minetest/"
-link_to = f"{home}/.var/app/net.minetest.Minetest/.minetest"  # flatpak
-# link_to = f"{home}/.minetest/"  # default 
+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):
@@ -56,7 +63,68 @@ def link(c):
 
 @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"+ 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)
+
+@task
+def bkmod(c, name=None):
+    '''Save the current set of mods and create an empty mod directory.'''
+    if not name:
+        name = datetime.datetime.now().strftime("%Y%h%d%H%M")
+    c.run(f"mv {mod_dir} {root}/mods_{name}")
+    c.run(f"mkdir -p {mod_dir}")
+    c.run(f"ls {root}")
+
+@task
+def rmod(c, name):
+    '''Restore a backed up set of mods.'''
+    if len(os.listdir(f"{mod_dir}")) != 0:
+        bk = datetime.datetime.now().strftime("%Y%h%d%H%M")
+        print(f"Backed up non-emtpy mod dir to mods_{bk}.")
+        c.run(f"mv {mod_dir} {root}/mods_{bk}")
+    else:
+        print("Removing empty mod dir.")
+        c.run(f"rmdir {mod_dir}")
+    c.run(f"mv {root}/mods_{name} {mod_dir}")
+    print(f"mods_{name} restored to mods")
+    print("ls of root")
+    c.run(f"ls {root}")
+    print("ls of mods")
+    c.run(f"ls {root}/mods")
+
+@task
+def logs(c, lines=20):
+    '''Output some logs'''
+    c.run(f"tail -n {lines} {root}/debug.txt")
+
+