2024-05-19 19:04:59 +00:00
|
|
|
#!/usr/bin/python3
|
2024-05-26 19:58:01 +00:00
|
|
|
import os
|
|
|
|
|
2024-05-19 19:04:59 +00:00
|
|
|
from flask import Flask, jsonify
|
2024-05-26 19:58:01 +00:00
|
|
|
from functools import lru_cache
|
2024-05-19 19:04:59 +00:00
|
|
|
import socket
|
|
|
|
|
2024-05-26 19:58:01 +00:00
|
|
|
|
|
|
|
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()
|
|
|
|
|
|
|
|
|
2024-05-19 19:04:59 +00:00
|
|
|
app = Flask(__name__)
|
|
|
|
|
2024-05-22 16:42:34 +00:00
|
|
|
|
|
|
|
@app.route("/api/info")
|
2024-05-19 19:04:59 +00:00
|
|
|
def api_info():
|
|
|
|
payload = {
|
|
|
|
"isSetup": True,
|
|
|
|
"hostname": socket.gethostname(),
|
2024-05-26 19:58:01 +00:00
|
|
|
"hardware": {
|
|
|
|
"firmwareVersion": f"OMV {__get_omv_version()}", # OMV version
|
|
|
|
},
|
|
|
|
"cpu": {
|
|
|
|
"temperature": __get_system_temp(),
|
|
|
|
},
|
2024-05-19 19:04:59 +00:00
|
|
|
}
|
|
|
|
return jsonify(payload)
|
|
|
|
|
2024-05-22 16:42:34 +00:00
|
|
|
|
2024-05-19 19:04:59 +00:00
|
|
|
# No controllers for you
|
2024-05-22 16:42:34 +00:00
|
|
|
@app.route("/api/controllers")
|
2024-05-19 19:04:59 +00:00
|
|
|
def api_controllers():
|
2024-05-26 19:58:01 +00:00
|
|
|
return jsonify([])
|
2024-05-22 16:42:34 +00:00
|
|
|
|
2024-05-19 19:04:59 +00:00
|
|
|
|
2024-05-22 16:42:34 +00:00
|
|
|
if __name__ == "__main__":
|
2024-05-19 19:04:59 +00:00
|
|
|
app.run(host="0.0.0.0", port=11081)
|