Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am hoping trouble with this coding assignment. Below is the code I have so far. I keep getting this error: Test Failed: name 'get_library_item'

I am hoping trouble with this coding assignment. Below is the code I have so far. I keep getting this error:

Test Failed: name 'get_library_item' is not defined

Please help! Thanks. Python 3 only.

### Implementation of LibraryItem Class class LibraryItem(): id_code='' title = '' location = '' checked_out_by = '' requested_by = '' date_checked_out = 0 def __init__(self,code, location, title_l): self.id_code = code self.title = title_l self.location = "ON_SHELF" self.checked_out_by = None self.requested_by = None self.date_checked_out = 0 def set_code(self,code): self.id_code = code def set_title(self,title_l): self.title = title_l def set_location(self,loc): self.location = loc def set_checked_out(self,name): self.checked_out_by = name def set_requested_by(self,requested_by_name): self.requested_by = requested_by_name def set_date_checked_out(self,day): self.date_checked_out = day def get_code(self): return self.id_code def get_title(self): return self.title def get_location(self): return self.location def get_checked_out(self): return self.checked_out_by def get_requested_by(self): return self.requested_by def get_date_checked_out(self): return self.date_checked_out ### Implementation of Book Class class Book(LibraryItem): author = '' def set_name(self,name): self.author = name def get_name(self): return self.author def get_check_out_length(self): return 21 ### Implementation of Album Class class Album(LibraryItem): artist = '' def set_artist(self,name): self.artist = name def get_artist(self): return self.artist def get_check_out_length(self): return 14 ### Implementation of Movie Class class Movie(LibraryItem): director = '' def set_director(self,name): self.director = name def get_director(self): return self.director def get_check_out_length(self): return 7 #Patron Class class Patron(): id_num = '' name ='' checked_out_items = [] fine_amount = 0 def __init__(self,code,n): self.id_num = code self.name = n checked_out_items = [] fine_amount = 0 def set_id_num(self,id_number): self.id_num = id_number def set_name(self,id_name): self.name = id_name def set_fine_amount(self,amt): self.fine_amount = amt def get_id_num(self): return self.id_num def get_name(self): return self.name def get_fine_amount(self): return self.fine_amount def add_library_item(self,lib_item): self.checked_out_items.append(lib_item) def remove_library_item(self,lib_item): self.checked_out_items.remove(lib_item) def amend_fine(self,num): self.fine_amount = self.fine_amount+num ### Implementation of Library Class class Library(): holdings = [] members = [] current_date =0 def __init__(self): self.holdings = [] self.members = [] self.current_date = 0 def set_current_date(self,day): self.current_date = day def get_current_date(self,day): return self.current_date def add_library_item(self,library_item): self.holdings.append(library_item) def add_patron(self,patron_name): self.members.append(patron_name) def get_library_item(self,id_lib): for i in self.holdings: if(id_lib==i.get_code(id_code)): return i return None def get_patron(self,id_pat): for i in self.members: if(id_pat==i.get_id_num(id_num)): return i return None def check_out_library_item(self,patron_id,library_id): if(get_library_item(self,library_id)==None): return "item not found" if(get_patron(self,patron_id)==None): return "patron not found" lib = get_library_item(self,library_id) if(lib.get_location()=="CHECKED_OUT"): return "item already checked out" if(lib.get_location()=="ON_HOLD_SHELF" and lib.get_requested_by!=patron_id): return "item on hold by other patron" lib.set_checked_out(patron_id) lib.set_date_checked_out(self.current_date) lib.set_location("CHECKED_OUT") if(lib.get_requested_by()==patron_id): lib.set_requested_by(None) pat = get_patron(self,patron_id) pat.add_library_item(self,library_id) return "check out successful" def return_library_item(self,patron_id,library_id): lib_item = get_library_item(self,library_id) if(lib_item == None): return "item not found" if(lib_item.get_location()!="CHECKED_OUT"): return "item already in library" pat = get_patron(self,patron_id) pat.remove_library_item(library_id) if(lib.get_requested_by!=None): lib.set_location("ON_HOLD_SHELF") else: lib.set_location("ON_SHELF") lib.set_checked_out(None) return "return successful" def request_library_item(self,patron_id,library_item_id): if(get_library_item(self,library_item_id)==None): return "item not found" if(get_patron(self,patron_id)==None): return "patron not found" lib = get_library_item(self,library_item_id) if(lib.get_location()=="ON_HOLD_SHELF"): return "item already on hold" else: lib.set_requested_by(patron_id) if(lib.get_location()=="ON_SHELF"): lib.set_location("ON_HOLD_SHELF") return "request successful" def increment_date(self): self.current_date = self.current_date +1 def pay_fine(self,patron_id,amt_pay): pat=get_patron(self,patron_id) if(pat==None): return "patron not found" pat.amend_fine(self,amt_pay) return "payment successful"

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Bioinformatics Databases And Systems

Authors: Stanley I. Letovsky

1st Edition

1475784058, 978-1475784053

More Books

Students also viewed these Databases questions