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
holdets_time = None
klandringer = None
events = None
date = None
@ -38,8 +39,10 @@ if file_storage == True:
def menu_select_date():
global klandringer
global events
global holdets_time
global date
date_entries = [()]
if file_storage == True:
if complete_klandringer != {}:
@ -60,48 +63,119 @@ def menu_select_date():
klandringer = complete_klandringer[date]
if mongo == True:
holdets_time = collection.find({"date":date})[0]
klandringer = holdets_time["data"]
klandringer = holdets_time["klandringer"]
events = holdets_time["events"]
menu_main()
def menu_main():
code, tag = d.menu("Vælg punkt på dagsordenen:",
title="Hovedmenu - " + str(date),
choices=[("Timen", "Ændr i beskrivelsen af denne time"),
("Indledende", "Indledende bemærkninger"),
("Klandringer", "Så mange klandringer"),
("Afsluttende", "Afsluttende bemærkninger")])
("Punkter", "Ændr punkter på dagsordenen"),
("Klandringer", "Så mange klandringer")])
if code == d.OK:
if tag == "Indledende":
menu_indledende()
if tag == "Punkter":
menu_events()
elif tag == "Klandringer":
menu_klandringer()
elif tag == "Afsluttende":
menu_afsluttende()
elif tag == "Timen":
menu_holdets_time()
else:
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:
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()
##################
# End indledende #
##################
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
#####################
# Begin afsluttende #
#####################
def create_event():
events.append({"title":"","description":""})
code = edit_event(-1)
if code != d.OK:
del events[-1]
return code
# TODO: Write afsluttende
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 #
@ -212,7 +286,7 @@ def save():
with open("klandringer.json","w") as jsonfile:
jsonfile.write(json.dumps(complete_klandringer))
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})
###################
@ -228,7 +302,8 @@ def menu_holdets_time():
title="Holdets time",
choices=[("Tid", "Ændre tidspunktet"),
("Sted", "Ændre stedet"),
("Undertitel", "Give en undertitel")])
("Undertitel", "Give en undertitel"),
("Klandringsskel", "Vælg punktet før klandringerne")])
if code == d.CANCEL:
menu_main()
@ -239,6 +314,8 @@ def menu_holdets_time():
change_place()
elif tag == "Undertitel":
change_subtitle()
elif tag == "Klandringsskel":
change_prepost()
menu_holdets_time()
@ -269,6 +346,15 @@ def change_subtitle():
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 #
####################
@ -282,7 +368,7 @@ def new_date():
if file_storage == True:
complete_klandringer[date] = []
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
else:
menu_select_date()