commits
tags
import subprocess
from flask import Blueprint, jsonify
from auth import login_required
from utils.display import sway_env
bp = Blueprint('system', __name__, url_prefix='/api')
@bp.route('/reboot', methods=['POST'])
@login_required
def reboot():
subprocess.Popen(['sudo', 'reboot'])
return '', 204
@bp.route('/shutdown', methods=['POST'])
@login_required
def shutdown():
subprocess.Popen(['sudo', 'poweroff'])
return '', 204
@bp.route('/restart', methods=['POST'])
@login_required
def restart():
# Avsluta sway — getty loopar och startar om via .bash_profile → kiosk-launcher.sh
try:
env = sway_env()
if env:
subprocess.Popen(['swaymsg', 'exit'], env=env)
except Exception:
pass
return '', 204