예제 #1
0
def guide_view_ahoy_post():

    trip = Trip()
    trip.guide_id = session['user_id']
    trip.guide_current_lat = request.form.get('guide_current_lat')
    trip.guide_current_long = request.form.get('guide_current_long')
    return redirect(url_for("guide_available_trips"))
예제 #2
0
def create_Trip(traveler_id, trip_name, trip_city, travel_date_from, travel_date_to):
    trip = Trip(traveler_id = traveler_id,
                trip_name = trip_name,
                trip_city = trip_city,
                travel_date_from = travel_date_from,
                travel_date_to = travel_date_to
                )

    db.session.add(trip)
    db.session.commit()

    return trip
예제 #3
0
def create_new_trip():
    """Create a new Trip instance"""

    if "user_id" in session:
        trip_name = request.form.get("trip-name")
        accommodations = request.form.get("accommodations")
        creator_id = session.get("user_id")

        # Create new trip instance
        new_trip = Trip(trip_name=trip_name,
                        creator_id=creator_id,
                        trip_accommodations=accommodations)

        # If accommodations field was filled in, find the lat/long
        # and add the values to new_trip
        if accommodations:
            lat_long = call_geocoding_api(accommodations)
            if lat_long != "Invalid search terms":
                accomm_long = lat_long["lng"]
                accomm_lat = lat_long["lat"]

                new_trip.accom_lat = accomm_lat
                new_trip.accom_long = accomm_long

        db.session.add(new_trip)
        db.session.commit()

        # Add Trip_User instance for creator of the trip upon creation of the trip
        user_id = session.get("user_id")
        new_tu = Trip_User(trip_id=new_trip.trip_id, user_id=user_id)

        db.session.add(new_tu)
        db.session.commit()

        return redirect(f"/trip/{new_trip.trip_id}")

    else:
        flash("You need to be logged in to access that page")

        return redirect("/login")
예제 #4
0
def update_data():
	"Get all the details of batch processed data"

	session = boto3.session.Session(
        aws_access_key_id=ACCESS_KEY,
        aws_secret_access_key=SECRET_ACCESS_KEY
        )

        s3 = session.resource("s3")
        bucket = s3.Bucket('citibikenycdataset')
        obj = bucket.Object('201307-201402-citibike-tripdata.zip')
	i=0
        with io.BytesIO(obj.get()["Body"].read()) as tf:

                # rewind the file
                tf.seek(0)

                # Read the file as a zipfile and process the members
                zfile =  zipfile.ZipFile(tf, mode='r')
                for finfo in zfile.infolist():
			first = True
                        ifile = zfile.open(finfo)
                        trip = ifile.readlines()
			for line in trip:
				data = line.split(',')
				trip_duration=data[0].replace('"', '')
				start_lat = data[5].replace('"','')
				start_lon = data[6].replace('"', '')
				end_lat = data[9].replace('"','')
	                        end_lon = data[10].replace('"', '')
				#print(start_lat)
				if not trip_duration == 'tripduration':
					i = i+1
		                        start_point = 'POINT(' + start_lat + ' ' + start_lon + ')'
					end_point = 'POINT(' + end_lat + ' ' + end_lon + ')'
				        #print(start_point)	
					new_trip = Trip(
							id = i,
							trip_duration = trip_duration,
							start_point = start_point,
							end_point = end_point)
					#print(new_trip)
					try:
						#print('Inside try')
						db.session.add(new_trip)
						#print('Added to db')						
						db.session.commit()
						#print('Committed to database')
					except exc.IntegrityError:
						db.session.rollback()
예제 #5
0
파일: api.py 프로젝트: StyXman/trip-planner
    def post (self, name):
        """This method extends the RESTful convention to implement UPSERT"""
        q= session.query (Trip).filter_by (name=name)
        if q.count ()==0:
            # INSERT
            trip= Trip.fromJson (request.form['trip'])
        else:
            # UPDATE
            trip= q.first ()
            trip.updatePoints (request.form['trip'])

        session.add (trip)
        session.commit ()

        return trip.toJson (), 201, CORPSE
예제 #6
0
def trip_details():
    '''shows details and photos for each trip board'''

    # obtain trip_id from the request form
    trip_id = request.form.get("trip")

    # get trip from the database using trip_id
    trip = Trip.get_trip(trip_id)
    photos = trip.photos
    user = session.get('login')

    return render_template('tripdetails.html',
                           user=user,
                           trip=trip,
                           photos=photos)
예제 #7
0
def add_new_trip_to_db(destination, trip_name, start_date, end_date, notes):
    """Creates a new trip and stores in database."""

    current_user = User.query.filter(User.email == session['logged_in']).first()
    user_id = current_user.user_id

    new_trip = Trip(user_id=user_id,
                    destination=destination,
                    trip_name=trip_name,
                    start_date=start_date,
                    end_date=end_date,
                    notes=notes)

    db.session.add(new_trip)
    db.session.commit()
예제 #8
0
def load_trips(trips_filename):
    """Load trips from file into database."""

    print("Trips")

    for i, row in enumerate(open(trips_filename)):
        row = row.rstrip()
        name, user_id, city_name = row.split("|")

        trip = Trip(name=name, user_id=int(user_id), city_name=city_name)

        # add user to the session
        db.session.add(trip)

    # commit session
    db.session.commit()
예제 #9
0
def get_trip_name():
    """Create new trip in db, if one does not already exist."""

    user_id = session['user_id']

    if 'trip_name' in session:
        trip_name = session['trip_name']
        new_trip = db.session.query(Trip).filter_by(trip_name=trip_name,
                                                    user_id=user_id).one()
    else:
        # if not, get name from html and add to db
        trip_name = request.form.get('trip_name')
        new_trip = Trip(user_id=user_id, trip_name=trip_name)
        db.session.add(new_trip)
        session['trip_name'] = trip_name

    return new_trip
예제 #10
0
def add_trip():
    """add trip details to database"""
    trip_name = request.form.get("trip_name")
    print("trip name:")
    print(trip_name)
    start_trip = request.form.get("start_trip")
    end_trip = request.form.get("end_trip")
    is_public = request.form.get("is_public")
    if (is_public == 'True'):
        is_public = True
    else:
        is_public = False
    is_admin = True
    new_trip = Trip(trip_name=trip_name,
                    start_trip=start_trip,
                    end_trip=end_trip,
                    is_public=is_public)
    db.session.add(new_trip)
    db.session.commit()
    session["current_trip_id"] = new_trip.trip_id
    session["current_trip_name"] = new_trip.trip_name

    # connecting the new trip to the cuerrent user through user_trip tableS
    new_user_trip = UserTrip(user_id=session["current_user_id"],
                             trip_id=session["current_trip_id"],
                             is_admin=is_admin)
    db.session.add(new_user_trip)
    db.session.commit()

    # my_trip_ids=[]
    # current_user.trips = UserTrip.query.filter(UserTrip.user_id==session["current_user_id"]).all()
    # for user_trip in current_user.trips:
    #     print("going over each trip")
    #     # user_trip = UserTrip.query.filter(UserTrip.user_id==user_id, UserTrip.trip_id==trip.trip_id).first()
    #     if user_trip.is_admin:
    #         # my_trips.append(trip)
    #         my_trip_ids.append(user_trip.trip_id)
    #     # else:
    #     #     followed_trips.append(user_trip.trip_id)

    # my_trip_ids = tuple(my_trip_ids)
    # session["my_trip_ids"] = my_trip_ids

    # return redirect("/search/{}".format(trip_name))
    return redirect("/search")
예제 #11
0
def save_places():
    """Saves the places checked by the user."""
    user_id = session["user_id"]
    user = User.query.get(user_id)

    saved_businesses = request.form.getlist("saved_businesses")
    city_id = request.form["city_id"]
    arrival_date = request.form["arrival_date"]
    departure_date = request.form["departure_date"]

    trip = Trip(user_id=user_id,
                city_id=city_id,
                arrival_date=arrival_date,
                departure_date=departure_date)
    db.session.add(trip)

    for business in saved_businesses:
        # get the name from the form
        business_name = request.form[business + '__name']
        # get the label from the form
        business_label = request.form[business + '__label']
        # get the date from the form
        business_date = request.form[business + '__date']
        # get the url from the form
        business_url = request.form[business + '__url']
        # check this place already exists in db
        place = Place.query.get(business)
        if place is None:
            place = Place(yelp_id=business,
                          name=business_name,
                          place_url=business_url)
        saved_place = SavedPlace(trip=trip,
                                 place=place,
                                 meal_datetime=business_date,
                                 meal_label=business_label)

        # save the place to the database
        db.session.add(place)
        db.session.add(saved_place)

    db.session.commit()

    session["user_id"] = user.user_id

    return redirect("/users/{}".format(user.user_id))
예제 #12
0
def add_trip(user_id):
    '''adds trip board for user for city from form input'''

    trip_name = request.form.get('name')
    city_name = request.form.get('city')

    # check if user input city is a valid city in the database
    if cityname_is_valid(city_name):

        # add trip to the database for current user
        city = city_name.strip().title()
        trip = Trip(name=trip_name, user_id=user_id, city_name=city)
        db.session.add(trip)
        db.session.commit()
    else:
        flash('Sorry, that city is not available in the database.')

    return redirect(url_for('userhome', user_id=user_id))
예제 #13
0
def create_trip():
    """User creates a trip."""

    if request.method == 'GET':
        activities = Activity.query.all()
        roles = Role.query.all()
        return render_template("createtrip_form.html",
                               activities=activities,
                               roles=roles)

    else:

        user_id = session["user_id"]
        current_user = User.query.filter_by(user_id=user_id).first()
        trip_name = request.form['trip_name']
        departure_address = request.form['departure_address']
        arrival_address = request.form['arrival_address']
        trip_departure_at = request.form['trip_departure_at']
        trip_arrival_at = request.form['trip_arrival_at']
        car_capacity = request.form['car_capacity']
        activity_id = request.form['recreation_activity']
        role_id = request.form['role_id']

        new_trip = Trip(trip_name=trip_name,
                        departure_address=departure_address,
                        arrival_address=arrival_address,
                        trip_departure_at=trip_departure_at,
                        trip_arrival_at=trip_arrival_at,
                        car_capacity=car_capacity)

        db.session.add(new_trip)
        db.session.flush()

        new_user_trip = UserTrip(user_id=current_user.user_id,
                                 trip_id=new_trip.trip_id,
                                 role_id=role_id,
                                 activity_id=activity_id,
                                 request='active')

        db.session.add_all([new_trip, new_user_trip, current_user])

        db.session.commit()

        return redirect("/userhome")
예제 #14
0
def add_photo_to_trip():
    '''adds a photo to the trip board for that location'''

    trip_id = request.form.get('trip')
    img_id = request.form.get('img_id')
    url = request.form.get('url')
    lat = request.form.get('lat')
    lon = request.form.get('lon')
    city_name = request.form.get('city_name')

    trip = Trip.get_trip(trip_id)

    # checks if authorized user is accessing this page
    if session.get('login') == trip.user_id:

        # if photo is not in the database, add it to the database
        if not Photo.get_photo(img_id):
            photo = Photo(img_id=int(img_id),
                          url=url,
                          lon=float(lon),
                          lat=float(lat),
                          city_name=city_name)
            db.session.add(photo)
            db.session.commit()

        # check if photo already exists in current users trip
        already_exists = TripPhotoRelationship.get_trip_photo(trip_id, img_id)

        if already_exists:
            return 'This photo is already in your trip board!'

        # photo is not in current trip board, add relationship to the database
        else:
            trip_photo = TripPhotoRelationship(trip_id=trip_id,
                                               photo_id=img_id)
            db.session.add(trip_photo)
            db.session.commit()
            return 'Photo Added'

    # unauthorized user, redirect to homepage
    else:
        flash('You do not have permission to access this feature')
        return 'Unauthorized User: Photo Not Added'
예제 #15
0
def create_trip():
    """Route that will log new trip information to database"""

    if 'user' in session:
        username = session['user']
        trip_name = request.form.get('tripname')
        date_created = datetime.datetime.now()
        date_start = request.form.get('datestart')
        num_days = int(request.form.get('numdays'))

        # Generate trip code here:
        trip_abbr = trip_name[:4].lower()
        print trip_abbr
        query_trips = Trip.query.all()

        for trip in query_trips:
            if trip.trip_code[:4] == trip_abbr:

                appx = int(trip.trip_code[4:])
                print "appx is %i" % appx
                appx += 1
                trip_code = trip_abbr + format(appx, "03")
                print trip_code
                break
            else:
                trip_code = trip_abbr + "000"

        # write new trip object to database:
        new_trip = Trip(trip_code=trip_code, trip_name=trip_name, date_created=date_created,
                       date_start=date_start, num_days=num_days)
        new_trip_log = UserTrip(trip_code=trip_code, user_id=username)

        # add trip objects to database and commit
        db.session.add(new_trip)
        db.session.commit()
        db.session.add(new_trip_log)
        db.session.commit()

        return json.dumps({'status': 'ok', 'user': username, 'tripCode': trip_code})

    else:
        flash("You are not logged in. Please do so.")
        return redirect('/')
예제 #16
0
def traveler_view_trip_post():

    trip = Trip()
    trip.traveler_id = session['user_id']
    trip.traveler_current_lat = request.form.get('traveler_current_lat')
    trip.traveler_current_long = request.form.get('traveler_current_long')
    trip.traveler_destination_lat = request.form.get('traveler_destination_lat')
    trip.traveler_destination_long = request.form.get('traveler_destination_long')
    trip.traveler_current_address = request.form.get('traveler_current_address')
    trip.traveler_destination_address = request.form.get('traveler_destination_address')

    # Add the user object to the database
    db_session.add(trip)

    # Save the user in the database
    db_session.commit()

    session['trip_id'] = trip.id

    # Confirm
    return 'Success'
예제 #17
0
def remove_trip():
    '''removes trip board from user boards'''

    trip_id = request.form.get("trip")
    user_id = request.form.get("user")

    # get trip from the database
    trip = Trip.get_trip(trip_id)

    # if the trip exists in the database
    if trip:

        # check if trip owner is same as logged in user
        if session.get('login') == trip.user_id:

            # get all liked relationship items for this trip from the database
            liked = LikedTrip.query.get(trip_id)
            liked_trips = TripUserLikes.query.filter(
                TripUserLikes.trip_id == trip_id).all()

            # if the trip has any liked relationships
            if liked_trips:
                # remove all liked trip relationships from the database
                for liked_trip in liked_trips:
                    db.session.delete(liked_trip)
                    db.session.commit()
                db.session.delete(liked)
                db.session.commit()

            else:
                pass
            # remove the liked trip and trip from the database
            db.session.delete(trip)
            db.session.commit()

            return redirect(url_for('userhome', user_id=user_id))
        else:
            flash('You do not have permission to access this feature')
            return redirect('/')
    else:
        flash('Sorry, that is not a valid trip')
        return redirect('/')
예제 #18
0
def show_itinerary(genre_code):
    """Give an itinerary including trips to a museum and eatery."""

    museum = Museum.query.filter_by(genre_code=genre_code).first()

    location = museum.address1 + museum.address2

    resp = get_restaurant(location)

    if resp == None:
        return "An error has occurred."
    restaurant_id, restaurant_name, restaurant_location1, restaurant_location2, restaurant_coordinates, restaurant_image = resp
    print resp

    restaurant_latitude = float(restaurant_coordinates['latitude'])
    restaurant_longitude = float(restaurant_coordinates['longitude'])

    if None in list(resp):
        return "An error has occurred"

    if 'user_id' in session:
        user_id = session["user_id"]

        trip = Trip(user_id=user_id,
                    museum_id=museum.museum_id,
                    restaurant_id=restaurant_id,
                    restaurant_name=restaurant_name,
                    restaurant_longitude=restaurant_longitude,
                    restaurant_latitude=restaurant_latitude)

        db.session.add(trip)

        db.session.commit()

    return render_template("itinerary.html",
                           museum=museum,
                           restaurant_name=restaurant_name,
                           restaurant_location1=restaurant_location1,
                           restaurant_location2=restaurant_location2,
                           restaurant_image=restaurant_image,
                           trip=trip)
예제 #19
0
def get_map():
    ''' Shows a map with pins of photos for the trip '''

    trip_id = request.form.get('trip-map')
    trip = Trip.get_trip(trip_id)

    # if the trip exists in the database
    if trip:
        photos = trip.photos

        # get city center coordinates to center map
        lon = trip.city.lon
        lat = trip.city.lat

        # turn city center coordinates into dictionary object
        city_geo = {"lon": lon, "lat": lat}

        trip_photos = []

        # loop through each photo in the trip object
        for photo in photos:

            # extract photo details and create dictionary for each photo with details
            photo_details = {
                'img_id': photo.img_id,
                'url': photo.url,
                'lat': photo.lat,
                'lon': photo.lon
            }

            # append photo details dictionary to trip_photos list
            trip_photos.append(photo_details)

        # pass variables to html template as json objects
        return render_template('getmap.html',
                               photos=json.dumps(trip_photos),
                               cityGeo=json.dumps(city_geo),
                               key=map_box_key)
    else:
        flash('Sorry could not find this trip!')
        return redirect('/')
예제 #20
0
def add_trip():
    """Add a trip."""

    if request.form:
        city = request.form.get("city")
        state = request.form.get("state")
        print city
        print state
        new_trip = Trip(city=city, state=state)
        db.session.add(new_trip)
        db.session.flush()
        user = User.query.get(session["user_id"])
        user_trip = UserTrip(user_id=user.user_id, trip_id=new_trip.trip_id)

        db.session.add(user_trip)

        db.session.commit()
        # print "Trip has been committed to db", new_trip
        # flash("Trip has been committed to db!")

    return jsonify({"state": state, "city": city}, trip_id=trip_id)
예제 #21
0
def load_trips(trips_filename):
    print("Trips")
    Trip.query.delete()

    for row in open(trips_filename):
        row = row.rstrip()
        trip_name, start_trip, end_trip, is_public = row.split(",")
        if (is_public == 'True'):
            is_public = True
        else:
            is_public = False
        trip = Trip(trip_name=trip_name,
                    start_trip=start_trip,
                    end_trip=end_trip,
                    is_public=is_public)

        # We need to add to the session or it won't ever be stored
        db.session.add(trip)

    # Once we're done, we should commit our work
    db.session.commit()
예제 #22
0
def seed_user_trip(db):
    user = User(fname='Lynda',
                lname='Phan',
                email='*****@*****.**',
                password='******')

    trip = Trip(trip_name='Hawaii')

    user_trip = User_trip(trip_id=1, user_id=1)

    event = Event(event_id=1,
                  trip_id=1,
                  event_name='Summer 2020',
                  event_date='2020-12-01')

    db.session.add(user)
    db.session.add(trip)
    db.session.add(user_trip)
    db.session.add(event)
    db.session.commit()

    return user
예제 #23
0
def validate_trip():
    """Allow user to create a new trip"""

    email = session.get('email')
    user = User.query.filter_by(email=email).first()
    trip_name = request.form.get('trip-name')
    start_date = request.form.get('start-date')
    end_date = request.form.get('end-date')

    new_trip = Trip(creator_id=user.user_id,
                    trip_name=trip_name,
                    start_date=start_date,
                    end_date=end_date)

    db.session.add(new_trip)

    db.session.commit()

    return redirect(
        url_for('trip_itinerary',
                trip_name=new_trip.trip_name,
                trip_id=new_trip.trip_id))
def create_wishlist():
    """Get asker's wishlist and zipcode to save in database."""

    new_wishlist = request.args.get('wishlist')
    zipcode = request.args.get('zipcode')
    asker = session.get("user_id")
    status = "incomplete"

    # if not Trip.query.filter_by(trip=username).all():
    new_trip = Trip(user_id=asker,
                    wishlist=new_wishlist,
                    trip_zipcode=zipcode,
                    item_progress=status)

    db.session.add(new_trip)
    db.session.commit()
    session["trip_id"] = new_trip.trip_id
    flash("Successfully created a wishlist!")

    print("200")

    return redirect("/asker-homepage")
예제 #25
0
def add_trips():
    """Add trip data to the trips table."""

    # t1 = Trip(
    #         trip_zipcode= "94805",
    #         user_id= 1,
    #         wishlist = "Apples, berries, sweet potatoes",
    #         item_progress= "En Route"
    #         )

    # db.session.add(t1)
    # db.session.commit()
    # print(f'created trips {t1}')
    """Load trip information from seed file into the database.
    working code.
    """
    print("trips")

    # opening seed file with the csv library and csv reader.
    with open('seed_files/Trip_seed_v1.csv') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=',')
        line_count = 0

        for row in csv_reader:
            if line_count == 0:
                # print(f'Column names are {", ".join(row)}')
                line_count += 1

            else:
                trip = Trip(trip_zipcode=row[1],
                            user_id=int(row[2]),
                            wishlist=row[3],
                            item_progress=row[4])

                db.session.add(trip)
                line_count += 1

        db.session.commit()
        print(f'created {line_count} trips')
예제 #26
0
def add_trips():
    """User adding a trip"""

    user = session['user']
    trip_name = request.args.get('trip').title().strip()
    trip_query = Trip.query.filter_by(trip_name=trip_name, user_id=user).all()

    trips = []
    i = 0
    while i < len(trip_query):
        trips.append(trip_query[i].trip_name)
        i += 1

    if trip_name not in trips:
        trip = Trip(trip_name=trip_name, user_id=user)
    else:
        return redirect('/trips')

    db.session.add(trip)
    db.session.commit()

    return redirect('/trips')
예제 #27
0
def show_favorites():
    '''Shows favorites page saved by user'''

    # check if user is logged in
    if session.get('login'):
        user_id = session.get('login')

        # gets user's favorite trip_ids from the database
        liked_trips_ids = User.get_user_by_id(user_id).liked_trips

        trips = []

        # look up trip ids and append trip objects to trips list
        for liked_trip in liked_trips_ids:
            trip = Trip.get_trip(liked_trip.trip_id)
            trips.append(trip)

        return render_template('favorites.html', trips=trips)

    # user is not logged in, redirect to homepage
    else:
        return redirect('/')
예제 #28
0
def store_trips():
    """Add each trip search to the DB."""

    user_id = session.get('username', 0)
    search = Search(user_id=user_id)
    db.session.add(search)
    db.session.flush()

    trip1 = json.loads(request.form['trip1'])
    trip2 = json.loads(request.form['trip2'])
    trips = [trip1, trip2]

    for trip in trips:
        trip = Trip(city_id=trip['cityId'],
                    search_id=search.search_id,
                    avg_temp=trip['weather'],
                    wow_factor=trip['wow'],
                    michelin_stars=trip['stars'],
                    airfare=trip['airfare'])
        db.session.add(trip)
    db.session.commit()

    return 'success'
예제 #29
0
                   last_name='Ouali',
                   email='*****@*****.**',
                   password='******',
                   zipcode='94116',
                   phone_number='12345678901')
    henry = User(user_id='hlin',
                 first_name='Henry',
                 last_name='Lin',
                 email='*****@*****.**',
                 password='******',
                 zipcode='94117',
                 phone_number='12345678901')

    # Add Trips
    yos = Trip(trip_code='yose000',
               trip_name='Yosemite Winter Backpacking',
               date_created=datetime.datetime.now(),
               date_start=datetime.datetime.now())
    bv = Trip(trip_code='bear000',
              trip_name='Bear Valley Winter Backpacking',
              date_created=datetime.datetime.now(),
              date_start=datetime.datetime.now())
    kc = Trip(trip_code='king000',
              trip_name='King Canyon Summer Backpacking',
              date_created=datetime.datetime.now(),
              date_start=datetime.datetime.now())

    trip1 = UserTrip(trip_code='yose000', user_id='eagle5')
    trip2 = UserTrip(trip_code='bear000', user_id='eagle5')
    trip3 = UserTrip(trip_code='king000', user_id='eagle5')

    trip4 = UserTrip(trip_code='yose000', user_id='souali')
예제 #30
0
파일: api.py 프로젝트: Acova003/pasos
def all_trips():
    # trips = crud.get_trips()
    trips = [Trip(title='123')]

    return render_template('index.html', trips=trips)
예제 #31
0
파일: api.py 프로젝트: Acova003/pasos
def hello():
    trips = [Trip(title='123')]
    message = "Hello, World"
    return render_template('index.html', trips=trips)
예제 #32
0
파일: api.py 프로젝트: StyXman/trip-planner
 def post (self):
     # trip={ "name": "default", "points": [ [ 43.55277819471542, 6.934947967529298 ], [ 43.581136968065685, 6.942672729492188 ] ] }
     trip= Trip.fromJson (request.form['trip'])
     session.add (trip)
     session.commit ()
     return trip.toJson (), 201, CORPSE
예제 #33
0
from model import Trip


stop_times = {
    '001': { '001': 0,  '002': 10, '003': 2, '004': 9  },
    '002': { '001': 10, '002': 0,  '003': 8, '004': 12 },
    '003': { '001': 2,  '002': 8,  '003': 0, '004': 6  },
    '004': { '001': 9,  '002': 12, '003': 6, '004': 0  },
}

vehicle_2_stops_times = {
    'V1':  { '001': 1,  '002': 11, '003': 3, '004': 7  },
    'V2':  { '001': 7,  '002': 10, '003': 2, '004': 3  },
}

trips = (
    Trip(id='A', pickup_stop_id='001', dropoff_stop_id='002'),
    Trip(id='B', pickup_stop_id='003', dropoff_stop_id='004'),
)
예제 #34
0
def seed_test_data():
    "Seed the tests."
    f = "%Y-%m-%d %H:%M:%S"
    place1 = Place(
        yelp_id="Z0r83lDOA1mI8RpNccXtHw",
        name="The Fat Bear",
        place_url=
        "https://www.yelp.com/biz/the-fat-bear-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place2 = Place(
        yelp_id="7Pc6VXiWEqc4JbgrH4U3tA",
        name="Rocca",
        place_url=
        "https://www.yelp.com/biz/rocca-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place3 = Place(
        yelp_id="K_dDxWgagylIvuB2oQy1KQ",
        name="The Black Penny",
        place_url=
        "https://www.yelp.com/biz/the-black-penny-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place4 = Place(
        yelp_id="0B-ag3J18TatG9H9EQohGg",
        name="Hawksmoor Seven Dials",
        place_url=
        "https://www.yelp.com/biz/hawksmoor-seven-dials-london-4?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place5 = Place(
        yelp_id="BjPq77aiaKZAVUHIu2S3gA",
        name="The English Rose Cafe and Tea Shop",
        place_url=
        "https://www.yelp.com/biz/the-english-rose-cafe-and-tea-shop-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place6 = Place(
        yelp_id="5sEiM_Xw5jXbMhloNqSgYQ",
        name="Grumbles",
        place_url=
        "https://www.yelp.com/biz/grumbles-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place7 = Place(
        yelp_id="cgkDnzaQvP9q-JHXd-ECcA",
        name="Cambridge Street Kitchen",
        place_url=
        "https://www.yelp.com/biz/cambridge-street-kitchen-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    place8 = Place(
        yelp_id="-ylzTrYtRJUJa2BuAInoyQ",
        name="Friends of Ours",
        place_url=
        "https://www.yelp.com/biz/friends-of-ours-london?adjust_creative=xRkF2ozLJzv0Tl0J-wOpZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=xRkF2ozLJzv0Tl0J-wOpZQ"
    )
    trip1 = Trip(user_id=1,
                 city_id=2,
                 arrival_date=datetime.strptime('2018-03-07 12:00:00', f),
                 departure_date=datetime.strptime('2018-03-13 23:00:00', f))
    trip2 = Trip(user_id=2,
                 city_id=1,
                 arrival_date=datetime.strptime('2018-04-10 10:00:00', f),
                 departure_date=datetime.strptime('2018-04-15 15:00:00', f))
    trip3 = Trip(user_id=1,
                 city_id=3,
                 arrival_date=datetime.strptime('2018-04-19 14:00:00', f),
                 departure_date=datetime.strptime('2018-04-22 12:00:00', f))
    saved_place1 = SavedPlace(place=place1,
                              trip=trip1,
                              meal_datetime=datetime.strptime(
                                  '2018-03-07 00:00:00', f),
                              meal_label="lunch")
    saved_place2 = SavedPlace(place=place2,
                              trip=trip1,
                              meal_datetime=datetime.strptime(
                                  '2018-03-07 00:00:00', f),
                              meal_label="dinner")
    saved_place3 = SavedPlace(place=place3,
                              trip=trip1,
                              meal_datetime=datetime.strptime(
                                  '2018-03-08 00:00:00', f),
                              meal_label="lunch")
    saved_place4 = SavedPlace(place=place4,
                              trip=trip1,
                              meal_datetime=datetime.strptime(
                                  '2018-03-09 00:00:00', f),
                              meal_label="breakfast")
    saved_place5 = SavedPlace(place=place5,
                              trip=trip2,
                              meal_datetime=datetime.strptime(
                                  '2018-04-12 00:00:00', f),
                              meal_label="breakfast")
    saved_place6 = SavedPlace(place=place6,
                              trip=trip2,
                              meal_datetime=datetime.strptime(
                                  '2018-04-13 00:00:00', f),
                              meal_label="lunch")
    saved_place7 = SavedPlace(place=place7,
                              trip=trip3,
                              meal_datetime=datetime.strptime(
                                  '2018-04-20 00:00:00', f),
                              meal_label="dinner")
    saved_place8 = SavedPlace(place=place8,
                              trip=trip3,
                              meal_datetime=datetime.strptime(
                                  '2018-04-21 00:00:00', f),
                              meal_label="lunch")

    db.session.add_all([
        place1, place2, place3, place4, place5, place6, place7, place8, trip1,
        trip2, trip3, saved_place1, saved_place2, saved_place3, saved_place4,
        saved_place5, saved_place6, saved_place7, saved_place8
    ])
    db.session.commit()