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