def do_unplace_jobs_with_non_existing_buildings(self, jobs, in_storage):
     buildings = BuildingDataset(in_storage=in_storage)
     building_ids = jobs.get_attribute(buildings.get_id_name()[0])
     valid_building_ids_idx = where(building_ids > 0)[0]
     index = buildings.try_get_id_index(building_ids[valid_building_ids_idx])
     logger.log_status("%s jobs have non-existing locations and are unplaced from buildings (parcel_id and zone_id are not affected)." % where(index < 0)[0].size)
     jobs.modify_attribute(name="building_id", data=-1, index=valid_building_ids_idx[index < 0])
 def do_unplace_jobs_with_non_existing_buildings(self, jobs, in_storage):
     buildings = BuildingDataset(in_storage=in_storage)
     building_ids = jobs.get_attribute(buildings.get_id_name()[0])
     valid_building_ids_idx = where(building_ids > 0)[0]
     index = buildings.try_get_id_index(
         building_ids[valid_building_ids_idx])
     logger.log_status(
         "%s jobs have non-existing locations and are unplaced from buildings (parcel_id and zone_id are not affected)."
         % where(index < 0)[0].size)
     jobs.modify_attribute(name="building_id",
                           data=-1,
                           index=valid_building_ids_idx[index < 0])