commit defa66c3c970bbcf77ccd14f6efc51d3e0efb1d4 Author: Christoffer Müller Madsen Date: Fri Sep 16 22:30:48 2016 +0200 kinda works diff --git a/klandr.py b/klandr.py new file mode 100755 index 0000000..de1a602 --- /dev/null +++ b/klandr.py @@ -0,0 +1,99 @@ +#! /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))