예제 #1
0
def add_report():
    pokemon = request.args.get('pokemon')
    latitude = request.args.get('latitude')
    longitude = request.args.get('longitude')
    user_id = request.args.get('user_id')
    if pokemon is not None and latitude is not None and longitude is not None:
        pokemon = float(pokemon)
        latitude = float(latitude)
        longitude = float(longitude)
        report = Reports(latitude, longitude, pokemon, user_id=user_id)
        id = report.insert_into_db()
        block_dim = 0.01
        users_in_radius = User.query.filter(
            User.latitude <= latitude + block_dim).filter(
                User.latitude >= latitude - block_dim).filter(
                    User.longitude >= longitude - block_dim).filter(
                        User.longitude <= longitude + block_dim).all()
        for user in users_in_radius:
            print(str(user.username) + " is in radius.")
            notification = Notifications.query.filter_by(
                user=user.id, pokemon=pokemon).first()
            if notification is not None:
                curr_dir = os.path.dirname(
                    os.path.realpath(__file__)) + "/pushcert.pem"
                send_APN(curr_dir, user.device_token,
                         pokemonList[int(pokemon)] + " was reported near you!")
        return jsonify(success=0, report=report.serialize)
    return jsonify(success=1, error='check request params')
예제 #2
0
def add_report():
    time = request.args.get('time')
    reporter = 3
    latitude = request.args.get('latitude')
    longitude = request.args.get('longitude')
    type_report = request.args.get('type')
    report = Reports(time, reporter, latitude, longitude, type_report)
    return jsonify(report=report.insert_into_db())