コード例 #1
0
def create_location():
    request_body = json.loads(request.data)

    location = Location(name=request_body.get('name', 'unnamed-location'))

    db.session.add(location)
    db.session.commit()

    return json.dumps({'success': True, 'data': location.serialize()}), 201
コード例 #2
0
ファイル: dao.py プロジェクト: sophiaxu-code/yum
def _get_or_create_location(city, state, zipcode, restaurant_id):
    location = Location.query.filter_by(zipcode=zipcode).first()
    if location is not None:
        return location
    new_location = Location(city=city,
                            state=state,
                            zipcode=zipcode,
                            restaurant_id=restaurant_id)
    db.session.add(new_location)
    db.session.commit()
    return new_location
コード例 #3
0
def query_location(name=None, latitude=None, longitude=None):
    location = None
    session = Session(expire_on_commit=False)
    if name is not None and len(name) > 0:
        name = unquote(name)
        location = session.query(Location).filter(
            Location.name.like(name)).first()
        if (latitude is not None and len(latitude) > 0
                and longitude is not None and len(longitude) > 0):
            if location is None:
                # print('create')
                location = Location(name=name.upper(),
                                    latitude=latitude,
                                    longitude=longitude)
                session.add(location)
            else:
                # print('update')
                location.latitude = latitude
                location.longitude = longitude
                location.lastseen = datetime.now()
            session.commit()

        else:  # not on our database
            if location is None:
                # print('import')
                rloc = locator.geocode(name)
                location = Location(name=name.upper(),
                                    latitude=rloc.latitude,
                                    longitude=rloc.longitude)
                session.add(location)
                session.commit()
    else:
        location = session.query(Location).order_by(Location.name.asc()).all()

    session.close()
    return to_csv(location)