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}')
Beispiel #5
0
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}.')
Beispiel #6
0
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.')
Beispiel #7
0
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"))
Beispiel #9
0
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))
Beispiel #11
0
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))
Beispiel #12
0
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'))