def list_donation_events(cursor_object): cursor_object.execute(QUERY_EVENTS_FROM_SQLDB) event_list = cursor_object.fetchall() if len(event_list) < 1: print("\n No entry found\n") input("\n Press (ENTER) to go back") clear() return None else: donation_object_list = [] for entry in event_list: next_event = Event() next_event.id = str(entry[0]) next_event.date_of_event = entry[1].strftime('%Y.%m.%d') delta_to_time_obj = (datetime.min + entry[2]).time() next_event.start_time = delta_to_time_obj.strftime('%H:%M') delta_to_time_obj2 = (datetime.min + entry[3]).time() next_event.end_time = delta_to_time_obj2.strftime('%H:%M') next_event.zip_code = str(entry[4]) next_event.city = entry[5] next_event.address = entry[6] next_event.available_beds = str(entry[7]) next_event.planned_donor_number = str(entry[8]) next_event.successfull = str(entry[9]) donation_object_list.append(next_event) # # EVENT SORT BY MENU # print( "Please type the criteria by which you would like to sort the list" ) print( "\n(1) Date of Event\n(2) Start Time\n(3) End Time\n(4) Zip code\n" "(5) City\n(6) Address\n(7) Available beds\n(8) Planned donor number\n" "(9) Final donor number\n(0) Cancel") user_input = input("\n> ") clear() if user_input == "": user_input = "1" if user_input.isdigit() and int(user_input) in range(1, 10): EventManagerDB.print_sorted_donation_list( donation_object_list, user_input) return None elif user_input == "0": clear() return None else: print("Please choose from the given numbers") time.sleep(1) clear()
def list_donation_events(): with open("Data/donations.csv", "r") as f: event_list = list(csv.reader(f)) del (event_list[0]) if len(event_list) < 1: print("\n No entry found\n") input("\n Press (ENTER) to go back") clear() return None else: donation_object_list = [] for i in event_list: next_event = Event() next_event.id = i[0] next_event.date_of_event = i[1] next_event.start_time = i[2] next_event.end_time = i[3] next_event.zip_code = i[4] next_event.city = i[5] next_event.address = i[6] next_event.available_beds = i[7] next_event.planned_donor_number = i[8] next_event.successfull = i[9] donation_object_list.append(next_event) # # EVENT SORT BY MENU # print( "Please type the criteria by which you would like to sort the list" ) print( "\n(1) Date of Event\n(2) Start Time\n(3) End Time\n(4) Zip code\n" "(5) City\n(6) Address\n(7) Available beds\n(8) Planned donor number\n" "(9) Final donor number\n(0) Cancel") user_input = input("\n> ") clear() if user_input == "": user_input = "1" if user_input.isdigit() and int(user_input) in range(1, 10): EventManagerCSV.print_sorted_donation_list( donation_object_list, user_input) return None elif user_input == "0": clear() return None else: print("Please choose from the given numbers") time.sleep(1) clear()
def list_donation_events(cursor_object): cursor_object.execute(QUERY_EVENTS_FROM_SQLDB) event_list = cursor_object.fetchall() if len(event_list) < 1: print("\n No entry found\n") input("\n Press (ENTER) to go back") clear() return None else: donation_object_list = [] for entry in event_list: next_event = Event() next_event.id = str(entry[0]) next_event.date_of_event = entry[1].strftime('%Y.%m.%d') delta_to_time_obj = (datetime.min + entry[2]).time() next_event.start_time = delta_to_time_obj.strftime('%H:%M') delta_to_time_obj2 = (datetime.min + entry[3]).time() next_event.end_time = delta_to_time_obj2.strftime('%H:%M') next_event.zip_code = str(entry[4]) next_event.city = entry[5] next_event.address = entry[6] next_event.available_beds = str(entry[7]) next_event.planned_donor_number = str(entry[8]) next_event.successfull = str(entry[9]) donation_object_list.append(next_event) # # EVENT SORT BY MENU # print("Please type the criteria by which you would like to sort the list") print("\n(1) Date of Event\n(2) Start Time\n(3) End Time\n(4) Zip code\n" "(5) City\n(6) Address\n(7) Available beds\n(8) Planned donor number\n" "(9) Final donor number\n(0) Cancel") user_input = input("\n> ") clear() if user_input == "": user_input = "1" if user_input.isdigit() and int(user_input) in range(1, 10): EventManagerDB.print_sorted_donation_list(donation_object_list, user_input) return None elif user_input == "0": clear() return None else: print("Please choose from the given numbers") time.sleep(1) clear()
def change_event(input_id_string, cursor_object): event_to_change = [] cursor_object.execute(QUERY_EVENTS_FROM_SQLDB) event_list = cursor_object.fetchall() for event in event_list: if int(input_id_string) == event[0]: event_to_change = list(event) if not event_to_change: print("\n No entry found with this ID.\n") time.sleep(1) clear() return None input_object_data_pairs = { 0: "DateOfEvent", 1: "StartTime", 2: "EndTime", 3: "ZipCode", 4: "City", 5: "Address", 6: "AvailableBeds", 7: "PlannedDonorNumber", 8: "Successfull" } validators_for_data_to_change = { 0: Validate.validate_date, 1: Validate.validate_time, 2: Validate.validate_time, 3: Validate.validate_zipcode, 4: Validate.validate_city_name, 5: Validate.validate_address, 6: Validate.validate_positive_int, 7: Validate.validate_positive_int, 8: Validate.validate_positive_int } event_object_for_printing = Event() event_object_for_printing.id = str(event_to_change[0]) event_object_for_printing.date_of_event = event_to_change[1].strftime('%Y.%m.%d') delta_to_time_obj = (datetime.min + event_to_change[2]).time() event_object_for_printing.start_time = delta_to_time_obj.strftime('%H:%M') delta_to_time_obj2 = (datetime.min + event_to_change[3]).time() event_object_for_printing.end_time = delta_to_time_obj2.strftime('%H:%M') event_object_for_printing.zip_code = str(event_to_change[4]) event_object_for_printing.city = event_to_change[5] event_object_for_printing.address = event_to_change[6] event_object_for_printing.available_beds = str(event_to_change[7]) event_object_for_printing.planned_donor_number = str(event_to_change[8]) event_object_for_printing.successfull = str(event_to_change[9]) actv_selection = 0 while True: MenuManager.change_event_submenu(actv_selection, event_object_for_printing) key = ord(getch()) if key == ESC: user_input = 9 clear() elif key == ENTER: user_input = actv_selection clear() elif key == SPECIALKEYSELECTOR: key = ord(getch()) if key == DOWNARROW: if actv_selection < 9: actv_selection += 1 continue elif key == UPARROW: if actv_selection > 0: actv_selection -= 1 continue else: print("\n! Wrong key !") time.sleep(1) continue else: print("\n! Wrong key !") time.sleep(1) continue if user_input in range(9): data_to_change = "" while data_to_change == "": print(event_object_for_printing) print("------------------------------\n") print("\n(0) Cancel\nChanging {} to: ".format(input_object_data_pairs[user_input])) data_to_change = input("\n> ") data_to_change = data_to_change.upper() if data_to_change == "0": return None elif validators_for_data_to_change[user_input](data_to_change): CHANGE_DATA = "UPDATE event SET {} = '{}' WHERE Id = {}".format(input_object_data_pairs[user_input], data_to_change, event_object_for_printing.id) cursor_object.execute(CHANGE_DATA) clear() print("...Done!") time.sleep(1) return None else: print("Wrong {}.".format(input_object_data_pairs[user_input])) data_to_change = "" time.sleep(1) clear() elif user_input == 9: clear() actv_selection = 0 return None
def change_event(input_id_string): event_to_change = [] with open("Data/donations.csv", "r") as f: event_list = list(csv.reader(f)) for event in event_list: if input_id_string == event[0]: event_to_change = list(event) if not event_to_change: print("\n No entry found with this ID.\n") time.sleep(1) clear() return None input_object_data_pairs = { 0: "Date of Event", 1: "Start Time", 2: "End Time", 3: "Zip Code", 4: "City", 5: "Address", 6: "Available Beds", 7: "Planned Donor Number", 8: "Number of Successful Donations" } validators_for_data_to_change = { 0: Validate.validate_date, 1: Validate.validate_time, 2: Validate.validate_time, 3: Validate.validate_zipcode, 4: Validate.validate_city_name, 5: Validate.validate_address, 6: Validate.validate_positive_int, 7: Validate.validate_positive_int, 8: Validate.validate_positive_int } event_object_for_printing = Event() event_object_for_printing.id = event_to_change[0] event_object_for_printing.date_of_event = event_to_change[1] event_object_for_printing.start_time = event_to_change[2] event_object_for_printing.end_time = event_to_change[3] event_object_for_printing.zip_code = event_to_change[4] event_object_for_printing.city = event_to_change[5] event_object_for_printing.address = event_to_change[6] event_object_for_printing.available_beds = event_to_change[7] event_object_for_printing.planned_donor_number = event_to_change[8] event_object_for_printing.successfull = event_to_change[9] actv_selection = 0 while True: MenuManager.change_event_submenu(actv_selection, event_object_for_printing) key = ord(getch()) if key == ESC: user_input = 9 clear() elif key == ENTER: user_input = actv_selection clear() elif key == SPECIALKEYSELECTOR: key = ord(getch()) if key == DOWNARROW: if actv_selection < 9: actv_selection += 1 continue elif key == UPARROW: if actv_selection > 0: actv_selection -= 1 continue else: print("\n! Wrong key !") time.sleep(1) continue else: print("\n! Wrong key !") time.sleep(1) continue if user_input in range(9): data_to_change = "" while data_to_change == "": print(event_object_for_printing) print("------------------------------\n") print("\n(0) Cancel\nChanging {} to: ".format( input_object_data_pairs[user_input])) data_to_change = input("\n> ") data_to_change = data_to_change.upper() if data_to_change == "0": return None elif validators_for_data_to_change[user_input]( data_to_change): event_to_change[user_input + 1] = data_to_change for number in range(len(event_list)): if event_list[number][0] == event_to_change[0]: event_list[number] = event_to_change with open("Data/donations.csv", "w") as f: donation_database = csv.writer(f, delimiter=',', lineterminator="\n") donation_database.writerows(event_list) clear() print("...Done!") time.sleep(1) return None else: print("Wrong {}.".format( input_object_data_pairs[user_input])) data_to_change = "" time.sleep(1) clear() elif user_input == 9: clear() actv_selection = 0 return None
def change_event(input_id_string, cursor_object): event_to_change = [] cursor_object.execute(QUERY_EVENTS_FROM_SQLDB) event_list = cursor_object.fetchall() for event in event_list: if int(input_id_string) == event[0]: event_to_change = list(event) if not event_to_change: print("\n No entry found with this ID.\n") time.sleep(1) clear() return None input_object_data_pairs = { 0: "DateOfEvent", 1: "StartTime", 2: "EndTime", 3: "ZipCode", 4: "City", 5: "Address", 6: "AvailableBeds", 7: "PlannedDonorNumber", 8: "Successfull" } validators_for_data_to_change = { 0: Validate.validate_date, 1: Validate.validate_time, 2: Validate.validate_time, 3: Validate.validate_zipcode, 4: Validate.validate_city_name, 5: Validate.validate_address, 6: Validate.validate_positive_int, 7: Validate.validate_positive_int, 8: Validate.validate_positive_int } event_object_for_printing = Event() event_object_for_printing.id = str(event_to_change[0]) event_object_for_printing.date_of_event = event_to_change[1].strftime( '%Y.%m.%d') delta_to_time_obj = (datetime.min + event_to_change[2]).time() event_object_for_printing.start_time = delta_to_time_obj.strftime( '%H:%M') delta_to_time_obj2 = (datetime.min + event_to_change[3]).time() event_object_for_printing.end_time = delta_to_time_obj2.strftime( '%H:%M') event_object_for_printing.zip_code = str(event_to_change[4]) event_object_for_printing.city = event_to_change[5] event_object_for_printing.address = event_to_change[6] event_object_for_printing.available_beds = str(event_to_change[7]) event_object_for_printing.planned_donor_number = str( event_to_change[8]) event_object_for_printing.successfull = str(event_to_change[9]) actv_selection = 0 while True: MenuManager.change_event_submenu(actv_selection, event_object_for_printing) key = ord(getch()) if key == ESC: user_input = 9 clear() elif key == ENTER: user_input = actv_selection clear() elif key == SPECIALKEYSELECTOR: key = ord(getch()) if key == DOWNARROW: if actv_selection < 9: actv_selection += 1 continue elif key == UPARROW: if actv_selection > 0: actv_selection -= 1 continue else: print("\n! Wrong key !") time.sleep(1) continue else: print("\n! Wrong key !") time.sleep(1) continue if user_input in range(9): data_to_change = "" while data_to_change == "": print(event_object_for_printing) print("------------------------------\n") print("\n(0) Cancel\nChanging {} to: ".format( input_object_data_pairs[user_input])) data_to_change = input("\n> ") data_to_change = data_to_change.upper() if data_to_change == "0": return None elif validators_for_data_to_change[user_input]( data_to_change): CHANGE_DATA = "UPDATE event SET {} = '{}' WHERE Id = {}".format( input_object_data_pairs[user_input], data_to_change, event_object_for_printing.id) cursor_object.execute(CHANGE_DATA) clear() print("...Done!") time.sleep(1) return None else: print("Wrong {}.".format( input_object_data_pairs[user_input])) data_to_change = "" time.sleep(1) clear() elif user_input == 9: clear() actv_selection = 0 return None