def update_availability(): print(' ****************** Add available date **************** ') if not state.active_account: error_msg("Must be logged in to update availability") return list_cages(suppress_header=True) cage_number = input("Enter cage number: ") if not cage_number: error_msg("Cancelled") return cage_number = int(cage_number) cages = svc.find_cages_for_user(state.active_account) selected_cage = cages[cage_number - 1] success_msg(f"Selected cage {selected_cage.name}") start_date = parser.parse( input("Enter date cage will be available from [yyyy-mm-dd]: ") ) days = int(input('How many days will the cage be available for? ')) svc.add_available_date( selected_cage, start_date, days ) state.reload_account() success_msg(f'Date added to cage {selected_cage.name}')
def update_availability(): print(' ****************** Add available date **************** ') active_account = state.active_account if not active_account: error_msg(f'Please Login or create a new account : - ') return list_cages(supress_header=True) cagenumber = input('Book a Cage ?') if not cagenumber.strip(): error_msg('Cancelled') print() cagenumber = int(cagenumber) account_cages = svc.find_cages_for_user(active_account) selectedcage = account_cages[cagenumber - 1] start_date = parser.parse(input('Enter available venom time slots?')) duration = int(input("How long can a stay be ? ")) svc.add_available_date(selectedcage, start_date, duration) state.reload_account() success_msg(f'Date Added at {start_date} for {selectedcage.name}')
def update_availability(): print(' ****************** Add available date **************** ') if not state.active_account: error_msg('You must log in before updating cage availability.') return list_cages(suppress_header=True) cage_number = input('Enter cage number: ').strip() if not cage_number: error_msg('Cancelled') print() return cage_number = int(cage_number) cages = svc.find_cages_for_user(state.active_account) selected_cage = cages[cage_number - 1] success_msg(f'Selected cage {selected_cage}.') start_date = parser.parse(input('Enter available date [yyyy-mm-dd]: ')) days = int(input('How many days is this block of time? ')) # Set dates, save to DB. svc.add_available_date(selected_cage, start_date, days) success_msg( f'{selected_cage.name} available for {days} days starting {start_date}.' )
def update_availability(): print(' ****************** Add available date **************** ') if not state.active_account: error_msg('You must login first to register for a cage.') return list_cages(suppress_header=True) cage_number = input('Enter a cage number: ') if not cage_number.strip(): error_msg('Cancelled') print() return cage_number = int(cage_number) cages = svc.find_cages_for_user(state.active_account) selected_cage = cages[cage_number - 1] success_msg('Selected cage {}'.format(selected_cage.name)) start_date = parser.parse(input('Enter available date [yyyy-mm-dd]: ')) days = int(input('How many days is this block of time? ')) svc.add_available_date(selected_cage, start_date, days) success_msg(f'Date added to cage {selected_cage.name}')
def update_availability(): print(' ****************** Add available date **************** ') if not state.active_account: error_msg('You must login first to list your cages.') return list_cages(suppress_header=True) cage_number = input('Enter a cage number: ') if not cage_number.strip(): error_msg('Cancelled!') print() return cage_number = int(cage_number) cages = svc.find_cages_for_user(state.active_account) selected_cage = cages[cage_number - 1] success_msg(f'Selected cage {selected_cage.name}') start_date = parser.parse( input('Enter available date [yyyy-mm-dd]: ') ) days = int(input('For how many days would you like to book this cage? ')) svc.add_available_date( selected_cage, start_date, days ) success_msg(f'Date added to cage {selected_cage.name}.')
def list_cages(supress_header=False): if not supress_header: print(' ****************** Your cages **************** ') if not state.active_account: error_msg('You must login first to register a cage.') return cages = svc.find_cages_for_user(state.active_account) print(f'You have {len(cages)} cages.') for c in cages: print(f' * {c.name} is {c.square_meters} meters.')
def list_cages(suppress_header=False): if not suppress_header: print(' ****************** Your cages **************** ') if not state.active_account: error_msg(f'you must login to register a cage') return cages = svc.find_cages_for_user(state.active_account) print(f'You have {len(cages)} cages') for idx, c in enumerate(cages): print(f'{idx+1}. {c.name} is {c.square_meters} meters.') for b in c.bookings: print(' * Booking: {}, {} days, booked? {}'.format( b.check_in_date, (b.check_out_date - b.check_in_date).days, 'YES' if b.booked_date is not None else 'NO'))
def list_cages(suppress_header=False): if not suppress_header: print(' ****************** Your cages **************** ') if not state.active_account: error_msg("Must be logged in to register a cage") return cages = svc.find_cages_for_user(state.active_account) print(f"You have '{len(cages)}' cages") for idx, c in enumerate(cages): print(f" * {idx + 1}. {c.name} is {c.square_metres}m\N{SUPERSCRIPT TWO}") for b in c.bookings: print('\t * Booking: {}, {} days, booked: {}'.format( b.check_in_date, (b.check_out_date - b.check_in_date).days, "yes" if b.booked_date else "no"))
def list_cages(suppress_header=False): if not suppress_header: print(' ****************** Your cages **************** ') if not state.active_account: error_msg('You must login first to list your cages.') return cages = svc.find_cages_for_user(state.active_account) print(f'You have {len(cages)} cages.') for idx, c in enumerate(cages): print(f'{idx + 1}. {c.name} is {c.square_meters} meters.') for b in c.bookings: print(f" * Booking: {b.check_in_date}, " f"{(b.check_out_date - b.check_in_date).days} days," f" booked? {('YES' if b.booked_date is not None else 'NO')}")
def view_bookings(): print(' ****************** Your bookings **************** ') if not state.active_account: error_msg('You must login first to register for a cage.') return cages = svc.find_cages_for_user(state.active_account) bookings = [(c, b) for c in cages for b in c.bookings if b.booked_date is not None] print('You have {} bookings.'.format(len(bookings))) for c, b in bookings: print(' * Cage: {} is booked on: {}, from {} for {} days.'.format( c.name, datetime.date(b.booked_date.year, b.booked_date.month, b.booked_date.day), datetime.date(b.check_in_date.year, b.check_in_date.month, b.check_in_date.day), b.duration_in_days))
def view_bookings(): print(' ****************** Your bookings **************** ') if not state.active_account: error_msg('You must log in first to view bookings') return cages = svc.find_cages_for_user(state.active_account) # Get nested bookings as flat list bookings = [(c, b) for c in cages for b in c.bookings if b.booked_date is not None] # Prints bookings print("You have {} bookings.".format(len(bookings))) for c, b in bookings: print(' * Cage: {}, booked date: {}, from {} for {} days.'.format( c.name, datetime.date(b.booked_date.year, b.booked_date.month, b.booked_date.day), datetime.date(b.check_in_date.year, b.check_in_date.month, b.check_in_date.day), b.duration_in_days))
def view_bookings(): print(' ****************** Your bookings **************** ') if not state.active_account: error_msg('You must login first to view the bookings of your cages.') return cages = svc.find_cages_for_user(state.active_account) bookings = [ (c, b) for c in cages for b in c.bookings if b.booked_date is not None ] print(f"You have {len(bookings)} bookings.") for c, b in bookings: print(f" * Cage: {c.name}, " f"booked date: {(datetime.date(b.booked_date.year, b.booked_date.month, b.booked_date.day))}, " f"from {(datetime.date(b.check_in_date.year, b.check_in_date.month, b.check_in_date.day))} " f"for {b.duration_in_days} days.")
def list_cages(supress_header=False): if not supress_header: print(' ****************** Your cages **************** ') active_account = state.active_account if not active_account: error_msg(f'Please Login or create a new account : - ') return cages = svc.find_cages_for_user(active_account) print(f'You have {len(cages)} cages.\n') for idx, c in enumerate(cages): print(f'Cage {idx + 1}') print(f'Name - {c.name}') print(f'Floor Size - {c.meters}') print(f'Carpeted - {c.carpeted}') print(f'Are there any Venomous Snakes - {c.allows_dangerous}') print(f'Does It have Toys - {c.has_toys}') print(f'One night = ${c.price}\n') for b in c.bookings: success_msg(' * Booking: {}, {} days, booked? {}'.format( b.check_in_date, (b.check_out_date - b.check_in_date).days, 'YES' if b.booked_date is not None else 'no'))