]> us-delaporte.pagekite.me Git - dotfiles.git/blob - invoke/minetest/tasks.py
Add helpers
[dotfiles.git] / invoke / minetest / tasks.py
1 from invoke import task
2 import os
3
4 home = os.path.expanduser('~')
5 flat_pak_root = f"{home}/.var/app/net.minetest.Minetest"
6 easy_dir = f"{home}/minetest/"
7 run_mt = f"flatpak run net.minetest.Minetest"
8
9 # flatpak
10 link_to = f"{home}/.var/app/net.minetest.Minetest/.minetest"
11 # default
12 # link_to = f"{home}/.minetest/"
13
14 @task
15 def debug(c):
16 result = c.run('which minetest')
17 print(result.ok)
18
19 @task
20 def install(c):
21 print("Installing...")
22 # result = c.run('which minetest')
23 # if not(result.ok):
24 c.run("sudo apt install flatpak")
25 c.run("sudo apt install gnome-software-plugin-flatpak")
26 c.run("flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo")
27 c.run("flatpak install flathub net.minetest.Minetest -y")
28 result = c.run('which minetest')
29 print(f"MineTest installed at {result.stdout}")
30 print("To run: flatpak run net.minetest.Minetest")
31
32 @task
33 def restore(c, dir):
34 if not os.path.isdir(dir):
35 print(f"No backups found at {dir}")
36 return
37 print(f"Will restore MineTest backup from {dir}")
38
39 world_folder = f"{home}/minetest/worlds"
40 c.run(f"mkdir -p {world_folder}")
41 print("Restoring backed up worlds...")
42 c.run(f"mv {dir}/* {world_folder}")
43 print("Finished")
44
45 # DONT - flatpak hates symlinks
46 def link(c):
47 # c.run(f"ls -al {link_to}")
48 if os.path.isdir(link_to):
49 print("Moving existing files...")
50 c.run(f"mv {link_to} {easy_dir}")
51 if not os.path.isdir(easy_dir):
52 raise ValueError(f"{easy_dir} not found.")
53 if os.path.exists(link_to):
54 print(f"Doing nothing. {link_to} exists.")
55 if os.path.isdir(easy_dir) and not os.path.exists(link_to):
56 print("Linking...")
57 c.run(f"ln -s {easy_dir} {link_to}")
58 # c.run(f"ls -al {link_to}")
59
60 @task
61 def status(c):
62 print(f"+ Minetest data assumed to be at {link_to}")
63 print(f"+ Easy folder assumed to be {easy_dir}")
64 print(f"+ ls ---")
65 c.run(f"ls -ald {link_to} | grep minetest")
66
67 @task
68 def world_list(c):
69 print(f"+ List Worlds ---")
70 cmd = f"{run_mt} --gameid list"
71 c.run(cmd)
72 cmd = f"{run_mt} --gameid minetest --worldlist path"
73 c.run(cmd)
74
75
76 @task
77 def version(c):
78 cmd = f"{run_mt} --version"
79 c.run(cmd)
80
81 @task
82 def serve(c, world="SurfaceWorld"):
83 cmd = f"{run_mt} --gameid minetest --server --world {world}"
84 c.run(cmd)