UNVR-NAS/overlay/filesystem/usr/bin/mock-ubnt-api

49 lines
1,015 B
Text
Raw Normal View History

#!/usr/bin/python3
import os
from flask import Flask, jsonify
from functools import lru_cache
import socket
def __get_system_temp():
try:
with open("/tmp/.unvr_temp", "r") as f:
return float(f.read())
except (IOError, OSError, PermissionError) as e:
print(f"Warning: Unable to get device temp!")
return None
@lru_cache(None)
def __get_omv_version():
return os.popen("dpkg-query -W -f='${Version}' openmediavault").read()
app = Flask(__name__)
@app.route("/api/info")
def api_info():
payload = {
"isSetup": True,
"hostname": socket.gethostname(),
"hardware": {
"firmwareVersion": f"OMV {__get_omv_version()}", # OMV version
},
"cpu": {
"temperature": __get_system_temp(),
},
}
return jsonify(payload)
# No controllers for you
@app.route("/api/controllers")
def api_controllers():
return jsonify([])
if __name__ == "__main__":
app.run(host="0.0.0.0", port=11081)