def post(self, location): location = Location(id=location) logging.info("Level: {} | X:{}, Y:{} | Beacon: {}".format( request.form.get('level'), request.form.get('x'), request.form.get('y'), request.form.get('beacon_id'))) b = Beacon.find_one({'id': request.form.get('beacon_id')}) if not b: b = Beacon() b.x = request.form.get('x') b.y = request.form.get('y') b.id = request.form.get('beacon_id') b.level = request.form.get('level') b.location = location b.save() return jsonify({'success': True, 'id': str(b._id)})
def post(self, location): location = Location(id=location) logging.info("Level: {} | X:{}, Y:{} | Beacon: {}".format(request.form.get('level'), request.form.get('x'), request.form.get('y'), request.form.get('beacon_id'))) b = Beacon.find_one({'id':request.form.get('beacon_id')}) if not b: b = Beacon() b.x = request.form.get('x') b.y = request.form.get('y') b.id = request.form.get('beacon_id') b.level = request.form.get('level') b.location = location b.save() return jsonify({'success':True, 'id':str(b._id)})
def run(self): bad = [] places = {} content = [f.strip() for f in open("data/Order4204.csv")] logging.info(content) count = 0 for b in Beacon.find({'level':3}): b.id = b.id.replace("-", "") id = "{}-{}".format(b.id[:4], b.id[4:]).upper() logging.info(id) if id in content and b.place and b.place.lower() != 'duplicate': place_beacons = places.setdefault(slugify(b.place.lower().strip()), []) place_beacons.append(id) logging.info("Match") else: bad.append(id) logging.info("No Match") logging.info(bad) logging.info(json.dumps(places)) gimbal = Gimbal(auth_key=config.GIMBAL_API_KEY) for k,v in places.iteritems(): for b in v: name = "{}-{}".format(k, b) logging.info("Creating Beacon: {}".format(name)) gimbal.create_beacon(b, name) logging.info("Creating Place: {}".format(k)) gimbal.create_place(k, v)
def get(self, location, level): loc = Location(id=location) beacons = Beacon.find({'location':loc._id, 'level':int(level)}) logging.info(beacons) return jsonify({'beacons':[b.json() for b in beacons]})
def get(self, location, level): loc = Location(id=location) beacons = Beacon.find({'location': loc._id, 'level': int(level)}) logging.info(beacons) return jsonify({'beacons': [b.json() for b in beacons]})