]> us-delaporte.pagekite.me Git - dotfiles.git/commitdiff
Add utility for saving and restoring a mod set.
authorEdward Delaporte <edward@delaporte.us>
Fri, 18 Oct 2024 02:22:54 +0000 (21:22 -0500)
committerEdward Delaporte <edward@delaporte.us>
Fri, 18 Oct 2024 02:22:54 +0000 (21:22 -0500)
invoke/minetest/tasks.py

index 47bcdb8f5669275b58e5e3057a0f58c2447c4cd2..a926cda527b73b70854912341051748988b97ddd 100644 (file)
@@ -1,8 +1,12 @@
 from invoke import task
 from invoke import task
+
+import datetime
 import os
 
 home = os.path.expanduser('~')
 flat_pak_root = f"{home}/.var/app/net.minetest.Minetest"
 import os
 
 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/"
 run_mt = f"flatpak run net.minetest.Minetest"
 
 easy_dir = f"{home}/minetest/"
 run_mt = f"flatpak run net.minetest.Minetest"
 
@@ -91,3 +95,22 @@ def version(c):
 def serve(c, world="SurfaceWorld"):
     cmd = f"{run_mt} --gameid minetest --server --worldname {world}"
     c.run(cmd)
 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.'''
+    bk = datetime.datetime.now().strftime("%Y%h%d%H%M")
+    c.run(f"mv {mod_dir} {root}/mods_{bk}")
+    c.run(f"mv {root}/mods_{name} {mod_dir}")
+    c.run(f"ls {root}")
+
+