Exemplo n.º 1
0
def create_netwok(df):
    network = Network()
    for tour_id in df[ID].unique():
        rows = df[df[ID] == tour_id]
        if check_tour_data(tour_id, rows) is False:
            continue
        general_info = rows.iloc[0]
        outlet = network.get_outlet(general_info[OUTLET])
        inlet = network.get_inlet(general_info[INLET])
        if outlet is None:
            outlet = create_place(general_info, Outlet)
        if inlet is None:
            inlet = create_place(general_info, Inlet)
        if inlet and outlet:
            new_tour = Tour(tour_id=tour_id,
                            inlet=inlet,
                            outlet=outlet,
                            date=general_info[DATE],
                            driver=general_info[DRIVER],
                            material=general_info[MATERIAL],
                            licence_plate=general_info[DRIPLATE])
        else:
            continue
        for _, row in rows.iterrows():
            client = create_place(row, Client)
            if client:
                network.add_client(client)
                new_tour.add_client(client)
        network.add_tour(new_tour)
    return network