openflexure-microscope-server/openflexure_microscope/api/v2/views/actions/system.py
2020-02-11 17:31:11 +00:00

46 lines
902 B
Python

from labthings.server.view import View
import subprocess
import os
from sys import platform
from labthings.server.decorators import ThingAction, doc_response
def is_raspberrypi(raise_on_errors=False):
"""
Checks if Raspberry Pi.
"""
# I mean, if it works, it works...
return os.path.exists("/usr/bin/raspi-config")
@ThingAction
class ShutdownAPI(View):
"""
Attempt to shutdown the device
"""
@doc_response(201)
def post(self):
"""
Attempt to shutdown the device
"""
subprocess.Popen(["sudo", "shutdown", "-h", "now"])
return "{}", 201
@ThingAction
class RebootAPI(View):
"""
Attempt to reboot the device
"""
@doc_response(201)
def post(self):
"""
Attempt to reboot the device
"""
subprocess.Popen(["sudo", "shutdown", "-r", "now"])
return "{}", 201