def bad_input(self): print("Choose from above!") number=msvcrt.getwch() if number=="1": self.get_unique_id() elif number=="2": donor_main() elif number=="3": main.creat_menu() else: self.bad_input()
def end_of_search(): print('1. New search') print('2. Back') get=msvcrt.getwch() if get=='1': main.search_menu() elif get=='2': main.creat_menu() else: print('Choose one!') end_of_search()
def end_of_delete(kind): get=msvcrt.getwch() if get=='1': if kind=='donor': delete_donor_from_csv_file() elif kind=='donation_event': delete_donations_from_csv_file() elif get=='2': main.creat_menu() return True else: print("Choose one!") end_of_delete(kind)
def donor_data_modifier(): lista=[] found=0 os.system('cls') change_according_ID=input("What ID you search for: ").lower() read_line=open("Data/donor.csv", "r+") read_the_list=csv.reader(read_line,delimiter=',',quotechar='"') for row in read_the_list: if row[7]==change_according_ID: found+=1 lista=row print('-'*40) name=row[0].split(" ") if len(name)==2: print("\t "+name[1]+ ", "+ name[0]) elif len(name)==3: print("\t "+name[2]+", "+name[1]+", "+name[0]) print("\t "+str(row[1])+"kg") print("\t "+row[2][0:4]+"."+row[2][5:7]+"."+row[2][8:10]+" - "+str(row[3])+" years old") print("\t "+row[9]) print("\t "+row[10]) print("\t "+"ID: "+row[7]) print('-'*40) print('\n') read_line.close() if found==0: print("This ID not found!") msvcrt.getwch() else: delete_from_csv = open("Data/donor.csv", "r+") read_csv_line=delete_from_csv.readlines() delete_from_csv.seek(0) for i in read_csv_line: splitted=i.split(',') if change_according_ID!=splitted[7]: delete_from_csv.write(i) delete_from_csv.truncate() delete_from_csv.close() write_rows=open("Data/donor.csv", 'a', newline='\n') writter=csv.writer(write_rows) lista=donor_data_manager(lista) writter.writerow(lista) write_rows.close() msvcrt.getwch() main.creat_menu()
def add_unique_id_if_not_unique(self): with open('Data\donor.csv', 'r+') as read: reader = csv.reader(read) for row in reader: if row[7].lower() == self.unique_id: print("This unique id is already living in database!\n") print("1. Did you miss type? ID again.") print("2. Add new Donor") print("3. Back to main menu\n") number=msvcrt.getwch() if number=="1": self.unique_id="" self.get_unique_id() elif number=="2": donor_main() elif number=="3": main.creat_menu() else: self.bad_input()
def donation_data_modifier(): lista=[] found=0 os.system('cls') change_according_ID=input("What ID you search for: ").upper() read_line=open("Data/donations.csv", "r+") read_the_list=csv.reader(read_line,delimiter=',',quotechar='"') for row in read_the_list: if row[0]==change_according_ID: found+=1 lista=row print('-'*40) print("\t"+"ID: "+row[0]) print("\t "+row[1]) print("\t "+row[2]+" - "+row[3]) print("\t "+row[4]+' '+ row[5]+' '+row[6]) print('-'*40) print('\n') read_line.close() if found==0: print("This ID not found!") msvcrt.getwch() else: delete_from_csv = open("Data/donations.csv", "r+") read_csv_line=delete_from_csv.readlines() delete_from_csv.seek(0) for i in read_csv_line: splitted=i.split(',') if change_according_ID!=splitted[0]: delete_from_csv.write(i) delete_from_csv.truncate() delete_from_csv.close() write_rows=open("Data/donations.csv", 'a', newline='\n') writter=csv.writer(write_rows) lista=donation_data_manager(lista) writter.writerow(lista) write_rows.close() msvcrt.getwch() main.creat_menu()
def donation_data_modifier(): lista = [] found = 0 os.system('cls') change_according_ID = input("What ID you search for: ").upper() read_line = open("Data/donations.csv", "r+") read_the_list = csv.reader(read_line, delimiter=',', quotechar='"') for row in read_the_list: if row[0] == change_according_ID: found += 1 lista = row print('-' * 40) print("\t" + "ID: " + row[0]) print("\t " + row[1]) print("\t " + row[2] + " - " + row[3]) print("\t " + row[4] + ' ' + row[5] + ' ' + row[6]) print('-' * 40) print('\n') read_line.close() if found == 0: print("This ID not found!") msvcrt.getwch() else: delete_from_csv = open("Data/donations.csv", "r+") read_csv_line = delete_from_csv.readlines() delete_from_csv.seek(0) for i in read_csv_line: splitted = i.split(',') if change_according_ID != splitted[0]: delete_from_csv.write(i) delete_from_csv.truncate() delete_from_csv.close() write_rows = open("Data/donations.csv", 'a', newline='\n') writter = csv.writer(write_rows) lista = donation_data_manager(lista) writter.writerow(lista) write_rows.close() msvcrt.getwch() main.creat_menu()
def list_donations(): row_number = -1 hits = [] total = [] counter = 0 global size rows = size[1] with open(os.path.join(os.path.dirname(sys.argv[0]), "Data\donations.csv"), newline='') as csvfile: search_file = csv.reader(csvfile, delimiter=',', quotechar='"') for row in search_file: if row != "": row_number += 1 if row_number > 0: total.append(row) if row_number == 0: print("There is nothing in the list!") msvcrt.getwch() main.creat_menu() elif row_number > 0: print("What should be the order:\n" "1. id\n" "2. date of event\n" "3. start time\n" "4. end time\n" "5. zip_code\n" "6. city\n" "7. address\n" "8. number of available beds\n" "9. planned donor number\n" "10. final_donor_number") order_donation = int(input()) while order_donation not in donation_listing_order: print("choose from above") order_donation = int(input()) if int(order_donation) in donor_listing_order: for order_int in total: order_int[7] = int(order_int[7]) order_int[8] = int(order_int[8]) order_int[9] = int(order_int[9]) total = sorted(total, key=itemgetter(int(order_donation) - 1)) for i in total: counter += 1 hits.append('-' * 40) hits.append(str(counter) + "." + "\t" + "ID: " + i[0]) hits.append("\t " + i[1]) hits.append("\t " + i[2] + " - " + i[3]) hits.append("\t " + i[4] + ' ' + i[5] + ' ' + i[6]) os.system('cls') page_row = (rows - 1) // 5 page = 0 length = len(hits) while page < length: os.system('cls') for i in range(0 + page, page_row * 5 + page): if i < length: print(hits[i]) else: break key = msvcrt.getwch() if key == 's': page += page_row * 5 if key == 'w': page -= page_row * 5 if page < 0: page = 0 main.creat_menu()
def list_donors(): counter = 0 row_number = -1 hits = [] total = [] global size rows = size[1] with open(os.path.join(os.path.dirname(sys.argv[0]), "Data\donor.csv"), newline='') as csvfile: search_file = csv.reader(csvfile, delimiter=',', quotechar='"') for row in search_file: if row != "": row_number += 1 if row_number > 0: total.append(row) if row_number == 0: print("There is nothing in the list!") msvcrt.getwch() main.creat_menu() elif row_number > 0: print("What should be the order:\n" "1. name\n" "2. weight\n" "3. date of birth\n" "4. age\n" "5. last donation date\n" "6. sickness\n" "7. gender\n" "8. unique id\n" "9. expiration of id\n" "10. email address\n" "11. blood type\n" "12. mobile_number\n" "13. hemoglobin_level\n") order_donor = int(input()) while order_donor not in donor_listing_order: print("choose from above") order_donor = int(input()) if int(order_donor) in donor_listing_order: for order_int in total: order_int[1] = int(order_int[1]) order_int[3] = int(order_int[3]) order_int[12] = int(order_int[12]) total = sorted(total, key=itemgetter(int(order_donor) - 1)) for i in total: counter += 1 hits.append('-' * 40) name = i[0].split(" ") if len(name) == 2: hits.append( str(counter) + "." + "\t " + name[1] + ", " + name[0]) elif len(name) == 3: hits.append( str(counter) + "." + "\t " + name[2] + ", " + name[1] + ", " + name[0]) hits.append("\t " + str(i[1]) + "kg") hits.append("\t " + i[2][0:4] + "." + i[2][5:7] + "." + i[2][8:10] + " - " + str(i[3]) + " years old") hits.append("\t " + i[9]) hits.append("\t " + i[10]) hits.append("\t " + "ID: " + i[7]) os.system('cls') page_row = (rows - 1) // 7 page = 0 length = len(hits) while page < length: os.system('cls') for i in range(0 + page, page_row * 7 + page): if i < length: print(hits[i]) else: break key = msvcrt.getwch() if key == 's': page += page_row * 7 if key == 'w': page -= page_row * 7 if page < 0: page = 0 main.creat_menu()