예제 #1
0
            else:
                retval += s[0] + "-"
        retval = retval[:-1] + " "
        duty_time = col[1][1] - col[1][0]
        if len(col) == 3 and len(col[2]) == 1 and col[2][0][0:3] == "HCT":
            duty_time = "00:00" #exception for High Contactable
        retval += str(block_time)[:-3] + "/" + str(duty_time)[:-3]
    return retval


if __name__ == "__main__":
    #decide which file to use
    rosters = glob.glob(roster_directory)
    rosters.sort()
    if len(sys.argv) == 2:
        roster_file = ""
        for f in rosters:
            if f.find(sys.argv[1]) != -1:
                roster_file = f
                break
        if not roster_file:
            print("Usage: " + sys.argv[0] + " [YYYYMM]")
            sys.exit(1)
    else:
        roster_file = rosters[-1]
    #extract the table and the year
    table = process_roster.extract_table(open(roster_file).read())
    #output to stdout
    for t in table:
        print(convert_to_roster(t))
예제 #2
0
                                     duty[1].time().strftime("%H%M"),
                                     duty[4].time().strftime("%H%M"),
                                     night))


if __name__ == "__main__":
    if len(sys.argv) != 4:
        print("Usage: ", sys.argv[0], "YYYYMM DD DD")
        sys.exit()
    #find the relevant roster file
    rosters = glob.glob(roster_directory)
    rosters.sort()
    roster_file = ""
    for f in rosters:
        if f.find(sys.argv[1]) != -1:
            roster_file = f
            break
    if not roster_file:
        print("Filename containing ", sys.argv[1], "not found")
        sys.exit(1)
    roster = open(roster_file).read()
    table = process_roster.extract_table(roster)
    crewlist = process_roster.extract_crew(roster)
    fromdate = datetime.date(int(sys.argv[1][:4]), int(sys.argv[1][4:]), int(sys.argv[2]))
    todate = datetime.date(int(sys.argv[1][:4]), int(sys.argv[1][4:]), int(sys.argv[3]))

    for t in table:
        if t[1][0] == None or t[0] < fromdate or t[0] > todate:
            continue #no duty or not in the band we are interested in
        print_data(t, crewlist)