craftbeerpi4-pione/core/controller/system_controller.py
2018-11-30 23:27:11 +01:00

42 lines
No EOL
1.5 KiB
Python

import datetime
from aiohttp import web
from aiojobs.aiohttp import get_scheduler_from_app
from core.api.decorator import request_mapping
class SystemController():
def __init__(self, cbpi):
self.cbpi = cbpi
self.service = cbpi.actor
self.cbpi.register(self, "/system")
@request_mapping("/restart", method="POST", name="RestartServer", auth_required=False)
def restart(self, request):
# TODO implement restart
return web.Response(text="NOT IMPLEMENTED")
@request_mapping("/shutdown", method="POST", name="ShutdownSerer", auth_required=False)
def restart(self, request):
# TODO implement restart
return web.Response(text="NOT IMPLEMENTED")
@request_mapping("/jobs", method="GET", name="get_jobs", auth_required=False)
def get_all_jobs(self, request):
scheduler = get_scheduler_from_app(self.cbpi.app)
result = []
for j in scheduler:
try:
print(datetime.datetime.fromtimestamp(
j.start_time
).strftime('%Y-%m-%d %H:%M:%S'))
result.append(dict(name=j.name, type=j.type, time=j.start_time))
except:
pass
# await j.close()
return web.json_response(data=result)
@request_mapping("/events", method="GET", name="get_all_events", auth_required=False)
def get_all_events(self, request):
return web.json_response(data=self.cbpi.bus.dump())