Skip to content

Instantly share code, notes, and snippets.

@DustinAlandzes
Last active June 27, 2017 02:05
Show Gist options
  • Save DustinAlandzes/0b134cd61e8a9bace995d088811e8e18 to your computer and use it in GitHub Desktop.
Save DustinAlandzes/0b134cd61e8a9bace995d088811e8e18 to your computer and use it in GitHub Desktop.
import datetime
from flask import Flask, jsonify, request
from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.exc import IntegrityError
from marshmallow import Schema, fields, ValidationError, pre_load
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = 'postgresql://username:password@url:5439/database'
db = SQLAlchemy(app)
##### MODEL #####
class Probe(db.Model):
network_id = db.Column()
node_mac = db.Column()
probe_requests_associated = db.Column()
probe_requests_avg_signal = db.Column()
probe_requests_count = db.Column()
probe_requests_first_seen = db.Column()
probe_requests_last_seen = db.Column()
probe_requests_mac = db.Column()
probe_requests_max_signal = db.Column()
probe_requests_min_signal = db.Column()
##### SCHEMA #####
class ProbeSchema(Schema):
network_id = fields.Str()
node_mac = fields.Str()
probe_requests_associated = fields.Str()
probe_requests_avg_signal = fields.Str()
probe_requests_count = fields.Str()
probe_requests_first_seen = fields.Str()
probe_requests_last_seen = fields.Str()
probe_requests_mac = fields.Str()
probe_requests_max_signal = fields.Str()
probe_requests_min_signal = fields.Str()
probe_schema = ProbeSchema()
probes_schema = ProbeSchema(many=True, only=())
##### API #####
@app.route('/probes/', methods=['GET'])
def get_quotes():
probes = Probe.query.all()
result = probe_schema.dump(probes)
return jsonify({"probes": result.data})
if __name__ == '__main__':
db.create_all()
app.run(debug=True, port=5000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment