better scripts

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2024-06-27 12:34:49 +02:00
parent 7f01722448
commit a0911caacf
4 changed files with 43 additions and 39 deletions

View File

@@ -13,40 +13,45 @@ lib.mkIf (host != "NxACE")
systemd.services."health_reminder" =
let
hm = pkgs.writeScriptBin "health_reminder" ''
hm =
let p = /*python*/ ''
#!${pkgs.python3}/bin/python3
import random
import re
class Action:
def __init__(self, actionA: str, actionB: str, likelihood: int, options: str):
self.actionA = actionA
self.actionB = actionB
def __init__(self, action: str, likelihood: int, options: list[str] = None):
self.action = action
self.likelihood = likelihood
self.options = options
self.options = options if options is not None else []
def __str__(self):
if self.options:
return f"{self.actionA}{random.choice(self.options)}{self.actionB}"
else:
return self.actionA
try:
choice = random.choice(self.options)
except IndexError:
choice = ""
action = re.sub("%o", choice, self.action)
return action
actions = [
Action("look away for 20 Seconds!", "", 300, ""),
Action("Shrimp 3000!", "", 90, ""),
Action("Do ", " Biceps curls with each Arm! ", 5, ["50", "10", "20"]),
Action("Do ", " Shourlder thingees", 5, ["30", "50", "20"]),
Action("Plank for ", " senonds!", 5, ["60", "60", "70"]),
Action("Strech your upper body!", "", 10, ""),
Action("Strech your core!", "", 5, ""),
Action("Strech your legs!", "", 5, ""),
Action("Make Tea!", "", 5, ""),
Action("look away for %o Seconds!",300, ["10", "15"] ),
Action("Posture Check!", 90 ),
Action("Do %o Biceps curls!", 5, ["50", "100", "150"] ),
Action("Do %o Shourlder thingees", 5, ["40 + 40", "50", "60"]),
Action("Plank for %o senonds!", 5, ["60", "60", "70"] ),
Action("Strech your upper body!", 20 ),
Action("Strech your core!", 10 ),
Action("Strech your legs!", 10 ),
Action("Make Tea!", 5 ),
Action("Touch Grass!", 5 )
]
total_likelihood = sum(a.likelihood for a in actions)
random_action = random.choices(actions, [a.likelihood for a in actions], k=1)[0]
print(random_action)
'';
in pkgs.writeScriptBin "health_reminder" p;
in
{
script = ''