aboutsummaryrefslogtreecommitdiffstats
path: root/monit.py
blob: dd8adbe7590be45528b6ec3d3d6afbcf0bc48ad7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!python
import json
import socket
from datetime import datetime
from flask import Flask
from flask import render_template
app = Flask(__name__)

SOCK_RECV_SIZE = 10240

def get_state():
    """Create a connection to the dabmux stats server
    and ask for the state

    returns: state"""

    sock = socket.socket()
    sock.connect(("localhost", 12720))

    version = json.loads(sock.recv(SOCK_RECV_SIZE))

    if not version['service'].startswith("ODR-DabMux"):
        return "Wrong version: '{}'\n".format(version['service'])

    sock.send("state\n")
    state_data = json.loads(sock.recv(SOCK_RECV_SIZE))
    sock.close()

    return state_data

@app.route('/')
def index_state():
    state_json = get_state()

    inputs = [{'name':name, 'state':state_json[name]['state']} for name in state_json]

    now = str(datetime.now())

    return render_template("index.html",
            inputs=inputs,
            name="test mux",
            date=now)

if __name__ == '__main__':
    app.run(debug=True)