Example #1
0
 def __init__(self):
     self.locations = self.createLocations()
     self.location_map = self.createMap(self.locations)
     self.hub_packages = self.createPackages(self.locations)
     self.avb_packs = self.hub_packages.keys()[:]
     self.trucks = []
     self.late_list = self.createLateList(self.avb_packs)
     self.early_dev_list = self.getEarlyDevList(self.avb_packs)
     self.wrongList = self.createWrongList(self.avb_packs)
     self.second_list = self.createSecondList(self.avb_packs)
     self.first_list = self.createFirstList(self.late_list,
                                            self.early_dev_list,
                                            self.avb_packs)
     self.third_list = self.createThirdList(self.avb_packs, self.wrongList)
     self.trucks.append(
         Truck(2, Time(8, 0), self.getPackagesByID(self.second_list, 2)))
     self.trucks.append(
         Truck(1, Time(9, 5), self.getPackagesByID(self.first_list, 1)))
     self.trucks.append(
         Truck(3, Time(10, 20), self.getPackagesByID(self.third_list, 3)))
Example #2
0
def get_input_time():
    while True:
        user_input = input("Please input the time in (HH:MM) format, between 8:00 and 17:00: ")
        hourMin = user_input.strip().split(":")
        try:
            if len(hourMin) < 2:
                raise ValueError
            hour = int(hourMin[0])
            mins = int(hourMin[1])
            return Time(hour, mins)
        except ValueError:
            print("Invalid format, Please try again!")
Example #3
0
 def calculateRouteTime(self):
     raw_time = self.total_distance / 18
     hours = int(raw_time)
     mins = math.ceil((raw_time - hours) * 60)
     duration = Time(hours, mins)
     return self.start_time + duration
Example #4
0
 def calculateDeliveryTime(self, start_time, distance):
     raw_time = distance / self.SPEED
     hours = int(raw_time)
     mins = (raw_time - hours) * 60
     duration = Time(hours, mins)
     return start_time + duration