12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # -*- coding: utf-8 -*-
- import datetime
- import json
- from apscheduler.schedulers.background import BackgroundScheduler
- from flask import request
- from . import app
- from .models import User_info, db
- from .encrypt_message import decrypt_message
- db.create_all()
- def sensor():
- """ Function for test purposes. """
- print("Scheduler is alive!")
- sched = BackgroundScheduler(daemon=True)
- sched.add_job(sensor, "interval", minutes=1)
- sched.start()
- @app.route("/api/user_info", methods=["POST"])
- def user_info():
- """ Function for parsing user info"""
- data = request.data
- try:
- data = decrypt_message(data)
- batches = json.loads(data)
- for batch in batches:
- line = json.loads(batch)
- timestamp = datetime.datetime.fromtimestamp(line["timestamp"])
- user_id = line["user_id"]
- user = User_info(timestamp=timestamp, user_id=user_id)
- db.session.merge(user)
- db.session.commit()
- except Exception as e:
- return {"status": 0, "error": str(e)}
- return {"status": 1}
|