#! /usr/bin/env python3 from dialog import Dialog import json d = Dialog(dialog="dialog") d.set_background_title("Klandr") #klandringer = [{"klandrer":"Person 1","klandret":"Person 2","title":"Title to be","description":"Description to be"}] #f = open("klandringer.json", "r", encoding="utf-8") #print(f) #klandringer = json.loads(str(f)) # Begin definitions def menu_main(): code, tag = d.menu("Vælg punkt på dagsordenen", title="Hovedmenu", choices=[("Indledende", "Indledende bemærkninger"), ("Klandringer", "Så mange klandringer"), ("Afsluttende", "Afsluttende bemærkninger")]) if code == d.OK: if tag == "Indledende": menu_indledende() elif tag == "Klandringer": menu_klandringer() elif tag == "Afsluttende": menu_afsluttende() # Begin klandringer def menu_klandringer(): code, tag = d.menu("Vælg hvad du vil gøre med klandringerne.", title="Klandringer", choices=[("Ny", "Opret en ny klandring"), ("Ændr", "Ændr en eksisterende klandring"), ("Slet", "Slet en eksisterende klandring")]) if code == d.CANCEL: menu_main() elif code == d.OK: if tag == "Ny": create_klandring() else: klandring = menu_select_klandring() if klandring != None: if tag == "Ændr": edit_klandring(klandring) elif tag == "Slet": delete_klandring(klandring) else: menu_klandringer() def menu_select_klandring(): klandringer_entries = [(str(i),k["klandrer"] + " v. " + k["klandret"] + " - " + k["title"]) for i,k in enumerate(klandringer)] code, tag = d.menu("Vælg den klandring du vil ændre/slette", title="Vælg klandring", choices=klandringer_entries) if code == d.OK: return tag def create_klandring(): klandringer.append({"klandrer":"","klandret":"","title":""}) edit_klandring(-1) def edit_klandring(strid): id = int(strid) code, elements = d.form("Ændr detaljer om klandring", title="Ændr klandring", elements=[("Titel:",1,1,klandringer[id]["title"],1,11,20,20), ("Klandrer:",2,1,klandringer[id]["klandrer"],2,11,20,20), ("Klandret:",3,1,klandringer[id]["klandret"],3,11,20,20)]) if code == d.OK: klandringer[id]["title"] = elements[0] klandringer[id]["klandrer"] = elements[1] klandringer[id]["klandret"] = elements[2] def delete_klandring(strid): id = int(strid) code = d.yesno("Vil du virkelig slette denne klandring?\n\nDenne handling er ufortrydelig!", title="Slet klandring!", yes_label="Ja", no_label="Nej",) if code == d.OK: del klandringer[id] d.msgbox("Klandringen er slettet!") menu_klandringer() # End klandringer # End definitions menu_main() print(json.dumps(klandringer))