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
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
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)