Ejemplo n.º 1
0
    parser = argparse.ArgumentParser(
        description="Find a time we can all meet.")
    parser.add_argument(
        'date',
        help="Date to check for available times, format like 2012.05.31")
    parser.add_argument(
        'earliest', help="Earliest potential time to start, format like 8:30")
    parser.add_argument('latest',
                        help="Latest potential time to end, format like 18:00")
    parser.add_argument(
        'participant',
        help="A text file containing an agenda, e.g., 'charles.ag'",
        nargs="*",
        type=argparse.FileType('r'))

    available = Agenda()
    args = parser.parse_args()
    blockspec = args.date + " " + args.earliest + " " + args.latest + "|Available"
    freeblock = Appt.from_string(blockspec)
    available.append(freeblock)

    for f in args.participant:
        participant = Agenda.from_file(f)
        participant = participant.complement(freeblock)
        available = available.intersect(participant)

    if len(available) == 0:
        print("No free times in common")
    else:
        print(available)
Ejemplo n.º 2
0
from agenda import Appt, Agenda
import sys
import argparse

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Find a time we can all meet.")
    parser.add_argument('date', help="Date to check for available times, format like 2012.05.31")
    parser.add_argument('earliest', help="Earliest potential time to start, format like 8:30")
    parser.add_argument('latest', help="Latest potential time to end, format like 18:00")
    parser.add_argument('participant', help="A text file containing an agenda, e.g., 'charles.ag'", 
                         nargs="*", type=argparse.FileType('r'))

    available = Agenda()
    args = parser.parse_args()
    blockspec = args.date + " " + args.earliest + " " + args.latest + "|Available"
    freeblock = Appt.from_string(blockspec)
    available.append(freeblock)

    appointments = Agenda()   # Create empty agenda

    for f in args.participant:  
        participant = Agenda.from_file(f)
        for appt in participant:   # Cycle through every appointment 
            appointments.append(appt)   
    available = appointments.complement(freeblock)

    if len(available) == 0:
        print("No free times in common")
    else:
        print(available)