tilføj punkt-modul

This commit is contained in:
Christoffer Müller Madsen 2016-09-17 23:38:54 +02:00
parent 7f594ebb68
commit 374b69fa21

136
klandr.py
View File

@ -16,6 +16,7 @@ d.set_background_title("Klandr")
# Initialization # Initialization
holdets_time = None holdets_time = None
klandringer = None klandringer = None
events = None
date = None date = None
@ -38,8 +39,10 @@ if file_storage == True:
def menu_select_date(): def menu_select_date():
global klandringer global klandringer
global events
global holdets_time global holdets_time
global date global date
date_entries = [()] date_entries = [()]
if file_storage == True: if file_storage == True:
if complete_klandringer != {}: if complete_klandringer != {}:
@ -60,48 +63,119 @@ def menu_select_date():
klandringer = complete_klandringer[date] klandringer = complete_klandringer[date]
if mongo == True: if mongo == True:
holdets_time = collection.find({"date":date})[0] holdets_time = collection.find({"date":date})[0]
klandringer = holdets_time["data"] klandringer = holdets_time["klandringer"]
events = holdets_time["events"]
menu_main() menu_main()
def menu_main(): def menu_main():
code, tag = d.menu("Vælg punkt på dagsordenen:", code, tag = d.menu("Vælg punkt på dagsordenen:",
title="Hovedmenu - " + str(date), title="Hovedmenu - " + str(date),
choices=[("Timen", "Ændr i beskrivelsen af denne time"), choices=[("Timen", "Ændr i beskrivelsen af denne time"),
("Indledende", "Indledende bemærkninger"), ("Punkter", "Ændr punkter på dagsordenen"),
("Klandringer", "Så mange klandringer"), ("Klandringer", "Så mange klandringer")])
("Afsluttende", "Afsluttende bemærkninger")])
if code == d.OK: if code == d.OK:
if tag == "Indledende": if tag == "Punkter":
menu_indledende() menu_events()
elif tag == "Klandringer": elif tag == "Klandringer":
menu_klandringer() menu_klandringer()
elif tag == "Afsluttende":
menu_afsluttende()
elif tag == "Timen": elif tag == "Timen":
menu_holdets_time() menu_holdets_time()
else: else:
quit() quit()
#################### ################
# Begin indledende # # Begin events #
#################### ################
# TODO: Write indledende def menu_events():
code, tag = d.menu("Hvad du vil gøre med punkterne på dagsordenen?",
title="Punkter",
choices=[("Nyt", "Oprette et nyt punkt"),
("Ændr", "Ændre et eksisterende punkt"),
("Beskriv", "Beskrive et eksisterende punkt"),
#("Omarrangér", "Omarrangere de eksisterende punkter"),
("Slet", "Slette et eksisterende punkt"),
("Batch", "Gå i batch-mode")])
################## if code == d.CANCEL:
# End indledende # menu_main()
################## elif code == d.OK:
if tag == "Nyt":
create_event()
elif tag == "Batch":
batch_mode()
else:
event = menu_select_event()
if event != None:
if tag == "Ændr":
edit_event(event)
elif tag == "Beskriv":
describe_event(event)
elif tag == "Slet":
delete_event(event)
##################### menu_events()
# Begin afsluttende #
#####################
# TODO: Write afsluttende def menu_select_event():
event_entries = [(str(i),e["title"]) for i,e in enumerate(events)]
code, tag = d.menu("Vælg det punkt du vil ændre/slette",
title="Vælg punkt",
choices=event_entries)
if code == d.OK:
return tag
def create_event():
events.append({"title":"","description":""})
code = edit_event(-1)
if code != d.OK:
del events[-1]
return code
def edit_event(strid):
id = int(strid)
e = events[id]
code, elements = d.form("Ændr detaljer om punkt",
title="Ændr punkt",
elements=[("Titel:",1,1,e["title"],1,11,40,40)])
if code == d.OK:
e["title"] = elements[0]
save()
return code
def describe_event(strid):
id = int(strid)
e = events[id]
code, text = d.editbox_str(e["description"],
height=0,
width=0,
title=e["title"])
if code == d.OK:
e["description"] = text
save()
return code
def delete_event(strid):
id = int(strid)
code = d.yesno("Vil du virkelig slette dette punkt?\n\nDenne handling er ufortrydelig!",
title="Slet punkt!",
yes_label="Ja",
no_label="Nej",)
if code == d.OK:
del events[id]
d.msgbox("Punktet er slettet!")
save()
return code
##############
# End events #
##############
###################
# End afsluttende #
###################
##################### #####################
# Begin klandringer # # Begin klandringer #
@ -212,7 +286,7 @@ def save():
with open("klandringer.json","w") as jsonfile: with open("klandringer.json","w") as jsonfile:
jsonfile.write(json.dumps(complete_klandringer)) jsonfile.write(json.dumps(complete_klandringer))
if mongo == True: if mongo == True:
#collection.update_one({"date":date},{"$set": {"data":klandringer}}) #collection.update_one({"date":date},{"$set": {"klandringer":klandringer}})
collection.update_one({"date":date},{"$set": holdets_time}) collection.update_one({"date":date},{"$set": holdets_time})
################### ###################
@ -228,7 +302,8 @@ def menu_holdets_time():
title="Holdets time", title="Holdets time",
choices=[("Tid", "Ændre tidspunktet"), choices=[("Tid", "Ændre tidspunktet"),
("Sted", "Ændre stedet"), ("Sted", "Ændre stedet"),
("Undertitel", "Give en undertitel")]) ("Undertitel", "Give en undertitel"),
("Klandringsskel", "Vælg punktet før klandringerne")])
if code == d.CANCEL: if code == d.CANCEL:
menu_main() menu_main()
@ -239,6 +314,8 @@ def menu_holdets_time():
change_place() change_place()
elif tag == "Undertitel": elif tag == "Undertitel":
change_subtitle() change_subtitle()
elif tag == "Klandringsskel":
change_prepost()
menu_holdets_time() menu_holdets_time()
@ -269,6 +346,15 @@ def change_subtitle():
menu_holdets_time() menu_holdets_time()
def change_prepost():
eventid = menu_select_event()
if eventid != None:
holdets_time['prepost_event'] = eventid
save()
menu_holdets_time()
#################### ####################
# End holdets time # # End holdets time #
#################### ####################
@ -282,7 +368,7 @@ def new_date():
if file_storage == True: if file_storage == True:
complete_klandringer[date] = [] complete_klandringer[date] = []
if mongo == True: if mongo == True:
collection.insert({"date":date,"time":"","place":"","subtitle":"","data":[]}) collection.insert({"date":date,"time":"","place":"","subtitle":"","klandringer":[],"events":[],"prepost_event":0})
return date return date
else: else:
menu_select_date() menu_select_date()