]> apps.delaporte.us Git - dotfiles.git/commitdiff
Add invoke for minetest
authorEdward Delaporte <edward@delaporte.us>
Sun, 22 Sep 2024 23:39:15 +0000 (18:39 -0500)
committerEdward Delaporte <edward@delaporte.us>
Sun, 22 Sep 2024 23:39:40 +0000 (18:39 -0500)
invoke/minetest/tasks.py [new file with mode: 0644]
setup/invoke.sh [new file with mode: 0755]

diff --git a/invoke/minetest/tasks.py b/invoke/minetest/tasks.py
new file mode 100644 (file)
index 0000000..688e168
--- /dev/null
@@ -0,0 +1,33 @@
+from invoke import task
+import os
+
+@task
+def debug(c):
+    result = c.run('which minetest')
+    print(result.ok)
+
+@task
+def install(c):
+    result = c.run('which minetest')
+    if not(result.ok):
+        c.run("apt install minetest")
+    else:
+        print(f"MineTest installed at {result.stdout}")
+
+@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}")
+    c.run(f"mv {dir}/* {world_folder}")
+    print("Finished")
+
+
diff --git a/setup/invoke.sh b/setup/invoke.sh
new file mode 100755 (executable)
index 0000000..59a4583
--- /dev/null
@@ -0,0 +1,6 @@
+
+sudo apt install python3.11-venv
+mkdir -p ~/venv
+python3 -m venv ~/venv/invoke
+source ~/venv/invoke/bin/activate
+pip install invoke