def list_donors(cursor): cursor.execute("SELECT * FROM Donor;") donor_list = cursor.fetchall() if len(donor_list) < 1: print("\n No entry found\n") input("\n Press (ENTER) to go back") clear() return None else: donor_object_list = [] for l in donor_list: next_donor = Donor() next_donor.uniqueid = l[0] next_donor.name = l[1] next_donor.weight = str(l[2]) next_donor.gender = l[3] next_donor.dateofbirth = datetime.date.strftime( l[4], "%Y.%m.%d") next_donor.lastdonationdate = datetime.date.strftime( l[5], "%Y.%m.%d") next_donor.wassick = l[6] next_donor.bloodtype = l[7] next_donor.expofid = datetime.date.strftime(l[8], "%Y.%m.%d") next_donor.hemoglobin = l[9] next_donor.emailaddress = l[-2] next_donor.mobilnumber = str(l[-1]) next_donor.age = next_donor.donor_age() donor_object_list.append(next_donor) sort_by_input = input( "Please choose the criteria by which you would like to sort the list: " "\n\n(ENTER) or (1) by name\n(2) by weight\n(3) by gender\n(4) by birth date" "\n(5) by date of last donation\n(6) by health status in last month" "\n(7) by ID or Passport number\n(8) by expiration date of ID" "\n(9) by blood type\n(10) by hemoglobin\n(11) by e-mail address" "\n(12) by mobile number\n(13) by age\n(0) Cancel\n\n> ") clear() if sort_by_input == "": sort_by_input = "1" if sort_by_input.isdigit() and int(sort_by_input) in range(1, 14): DonorManagerDB.print_sorted_donor_list(donor_object_list, sort_by_input) return None elif sort_by_input == "0": clear() return None else: print( "\n\t\t! ! ! Please choose from the given numbers. ! ! !\t\t\n " ) time.sleep(1.5) clear()
def list_donors(): with open("Data/donors.csv", "r") as f: donor_list = list(csv.reader(f)) del (donor_list[0]) if len(donor_list) < 1: print("\n No entry found\n") input("\n Press (ENTER) to go back") clear() return None else: donor_object_list = [] for l in donor_list: next_donor = Donor() next_donor.name = l[0] next_donor.weight = l[1] next_donor.gender = l[2] next_donor.dateofbirth = l[3] next_donor.lastdonationdate = l[4] next_donor.wassick = l[5] next_donor.uniqueid = l[6] next_donor.expofid = l[7] next_donor.bloodtype = l[8] next_donor.hemoglobin = l[9] next_donor.emailaddress = l[-2] next_donor.mobilnumber = l[-1] next_donor.age = next_donor.donor_age() donor_object_list.append(next_donor) sort_by_input = input( "Please choose the criteria by which you would like to sort the list: " "\n\n(ENTER) or (1) by name\n(2) by weight\n(3) by gender\n(4) by birth date" "\n(5) by date of last donation\n(6) by health status in last month" "\n(7) by ID or Passport number\n(8) by expiration date of ID" "\n(9) by blood type\n(10) by hemoglobin\n(11) by e-mail address" "\n(12) by mobile number\n(13) by age\n(0) Cancel\n\n> " ) clear() if sort_by_input == "": sort_by_input = "1" if sort_by_input.isdigit() and int(sort_by_input) in range(1, 14): DonorManager.print_sorted_donor_list(donor_object_list, sort_by_input) return None elif sort_by_input == "0": clear() return None else: print("\n\t\t! ! ! Please choose from the given numbers. ! ! !\t\t\n ") time.sleep(1.5) clear()
def test_donor_age(self): bela = Donor() bela.dateofbirth = '1990.02.26' szuletes = datetime.datetime.strptime(bela.dateofbirth, "%Y.%m.%d") kor = (datetime.datetime.today() - szuletes).days // 365 self.assertEqual(bela.donor_age(), kor)