Weekend 22, some QoL improvements (added wiki_to_prefs_table.py, print wiki header in output as well)

This commit is contained in:
2026-02-01 15:16:59 +01:00
parent d329748b89
commit 467bdbd56f
4 changed files with 97 additions and 65 deletions

View File

@@ -1,5 +1,5 @@
config:
days: 3
days: 4
weights:
likes: 1
hates: 3
@@ -8,95 +8,98 @@ config:
task_re: "[ ,/]+"
tasks:
hotemetoten:
personen: [Lyra, mrngm, Pepper]
personen: [Tanja, mrngm, MargotM, Eliza]
workload: 4
req: [1, 1, 1]
req: [1, 1, 1, 1]
hardcode:
- Lyra
- Eliza
- Tanja
- MargotM
- mrngm
- Pepper
lookup: [hotemetoten]
superkok:
req: [1, 1, 1]
personen: [MacGyver, Annelies, Mieksies]
req: [1, 1, 1, 0]
personen: [MacGyver, carrot, Pepper]
workload: 4
lookup: [superkok]
hardcode:
- MacGyver
- Annelies
- Mieksies
- carrot
- Pepper
snijden:
req: [2, 3, 3]
req: [2, 3, 3, 0]
workload: 2
personen: iedereen
lookup: [snijden]
koken:
req: [3, 3, 3]
req: [3, 3, 3, 0]
workload: 3
personen: liefhebbers
lookup: [koken, kookhulp, hulpkoken]
afwassen:
req: [3, 6, 6]
req: [3, 6, 6, 0]
workload: 2
personen: iedereen
lookup: [afwassen]
schoonmaken:
req: [2, 4, 4]
req: [2, 4, 4, 0]
workload: 2
personen: iedereen
lookup: [schoonmaken]
snackdealen:
req: [2, 4, 4]
req: [2, 4, 4, 0]
workload: 1
personen: iedereen
lookup: [hapjes, snackdealen]
fotograferen:
req: [2, 3, 3]
req: [2, 3, 3, 0]
workload: 2
personen: liefhebbers
lookup: [fotograferen]
pendelen:
req: [1, 1, 1]
req: [1, 1, 1, 0]
workload: 2
personen: liefhebbers
lookup: [pendelen]
people:
- Abel
- Anita
- Annelies
- Blondie
- avel
- Blu
- carrie
- carrot
- cuttlefish
- Dusk
- Eliza
- Harm
- John
- Joost
#- Harm
- Harmen
- Laurens
- Leonie
- lynn
- Loki
- lucus
- Lynn
- Lyra
- Maaike
- Mabl
- Mabel
- MacGyver
- mapzie
- Margot
- Marion
- Mapzie
- MargotM
- Marlon
- Mieksies
- mike
- Minnozz
- MrNGm
- mrngm
- Nova
- PaxSum
- Pepper
- petervdv
- Petervdv
- PP
- Quis
- Rian
- Roflincopter
- roflin
- RTB
- Sjors
- SyntaxTerror
- Tanja
#- Tauri
- Thom
- Wassasin
- Weasel
- Yorick

View File

@@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#!nix-shell -i python3 -p python3 python3Packages.pyyaml glpk -I nixpkgs=flake:nixpkgs
#!nix-shell -i python3 -p python3 python3Packages.pyyaml glpk -I nixpkgs=flake:nixpkgs --extra-experimental-features flakes
import sys
import yaml
import re
@@ -143,6 +143,9 @@ def write_data(people, tasks, file=sys.stdout):
print(glpm.param("WL", config['weights']['likes']), file=file)
print(glpm.param("WH", config['weights']['hates']), file=file)
def write_tasks(people, tasks, file=sys.stdout):
days_tpl = " dag !!" * config['days']
print("! {} !!{} {} !! {}".format("wie", days_tpl, "vrolijkheid", "workload"), file=file)
print("|-", file=file)
for name, p in people.items():
days = [[] for i in range(config['days'])]
for (d,t) in p.does:
@@ -151,7 +154,7 @@ def write_tasks(people, tasks, file=sys.stdout):
days_fmt = " {} ||" * len(days)
days_filled = days_fmt.format(*map(q, days))
print("| {} ||{} {} || {}".format(name, days_filled, p.vrolijkheid(), p.workload(tasks)), file=file)
print("|-")
print("|-", file=file)
people = read_people(conf['people'])
with open('prefs_table', 'r') as pref_file:
read_prefs(pref_file, tasks, people)

View File

@@ -1,31 +1,26 @@
Abel - pendelen
Anita schoonmaken, afwassen fotograferen, pendelen
carrot koken, snijden -
Dusk pendelen, snijden, koken afwassen, schoonmaken
Eliza schoonmaken, koken, snijden snackdealen, pendelen, afwassen
Harm pendelen, fotograferen snackdealen, schoonmaken
Joost snijden fotograferen, pendelen, schoonmaken, snackdealen
Leonie koken, snijden, pendelen snackdealen, fotograferen
Loki snijden, koken, snackdealen afwassen, schoonmaken
lucus koken, snijden schoonmaken, snackdealen
lynn koken, snackdealen, schoonmaken afwassen, snijden, koken
Maaike snijden, koken, afwassen snackdealen, fotograferen, pendelen
Mabl snijden, schoonmaken fotograferen, pendelen, snackdealen
mapzie snackdealen snijden, koken, schoonmaken, afwassen
Margot snijden, koken, afwassen snackdealen, schoonmaken
Marion snijden, koken, afwassen snackdealen, fotograferen, schoonmaken
Marlon koken, snijden afwassen, schoonmaken
Minnozz fotograferen, snijden schoonmaken, afwassen
Nova pendelen, koken, snijden snackdealen, fotograferen, schoonmaken
PaxSum snijden, koken, afwassen fotograferen, snackdealen
petervdv snackdealen, pendelen -
Quis snackdealen, koken, snijden fotograferen, schoonmaken
Rian snijden, afwassen snackdealen, fotograferen, pendelen
Roflincopter schoonmaken, afwassen koken
Sjors pendelen, snackdealen koken, afwassen
SyntaxTerror snijden, schoonmaken, afwassen snackdealen, pendelen
Tanja snijden, koken, afwassen, schoonmaken fotograferen, pendelen
Thom koken, afwassen, pendelen fotograferen, snackdealen
Wassasin snackdealen, koken, snijden afwassen, schoonmaken, fotograferen
Weasel fotograferen, snijden schoonmaken, snackdealen
Yorick koken, snijden, afwassen snackdealen, fotograferen
Abel fotograferen, snijden, koken pendelen
avel snackdealen, fotograferen koken, snijden, afwassen
Blu koken schoonmaken, snackdealen
Carrie snijden, pendelen snackdealen, koken
Cuttlefish koken, snijden, afwassen, schoonmaken snackdealen, fotograferen
Dusk koken schoonmaken, afwassen, snackdealen
Laurens pendelen, koken, snijden schoonmaken, afwassen, fotograferen
Leonie pendelen, snijden schoonmaken, snackdealen
lucus snijden, koken snackdealen, schoonmaken
lynn snackdealen schoonmaken, koken, afwassen, snijden
Lyra schoonmaken, afwassen, snackdealen snijden, koken
Maaike afwassen schoonmaken, snackdealen
Mabel schoonmaken, afwassen snackdealen, koken
Marlon koken, snijden, snackdealen schoonmaken, afwassen
Minnozz fotograferen, snijden schoonmaken, afwassen
Nova pendelen, koken, snijden schoonmaken, afwassen, snackdealen
PaxSum koken, snijden schoonmaken, snackdealen
Petervdv pendelen, snackdealen snijden, koken, afwassen, fotograferen
PP koken, snijden snackdealen
Quis snijden schoonmaken, fotograferen
Rian afwassen, snijden schoonmaken, snackdealen
roflin afwassen schoonmaken snackdealen koken
SyntaxTerror schoonmaken, afwassen koken, pendelen, snackdealen
Thom afwassen fotograferen, snackdealen
Weasel fotograferen, snijden koken, schoonmaken
Yorick snijden, koken snackdealen

31
wiki_to_prefs_table.py Executable file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/env python
import sys
def process_line(line):
line = line.rstrip(" \n")
if line == "|-":
return
if not line.startswith("|"):
return
line = line.lstrip("| ")
line = line.replace("[[", "")
line = line.replace("]]", "")
line = line.replace("User:", "")
splitted = [x.strip() for x in line.split("||")]
if len(splitted[0].split("|")) == 2:
splitted[0] = splitted[0].split("|")[1]
if splitted[1] == "":
splitted[1] = "-"
if splitted[2] == "":
splitted[2] = "-"
print(f"{splitted[0]}\t{splitted[1]}\t{splitted[2]}")
def main():
for line in sys.stdin:
process_line(line)
if __name__ == "__main__":
main()