Handle response
This commit is contained in:
@@ -117,40 +117,64 @@ class Handler(BaseHTTPRequestHandler):
|
|||||||
|
|
||||||
def handle_POST_path(self):
|
def handle_POST_path(self):
|
||||||
if (self.path.startswith("/changetrack/")):
|
if (self.path.startswith("/changetrack/")):
|
||||||
parts = self.path.split("/")
|
return self.handle_post_change_track()
|
||||||
parts = [p for p in parts if p] # remove empty
|
if (self.path.startswith("/changecar/")):
|
||||||
track, config = self.extract_track_and_config(parts, 1)
|
return self.handle_post_change_car()
|
||||||
print(f"Changing track to '{track}' with config '{config}'")
|
|
||||||
|
|
||||||
success, message = change_track(track, config)
|
|
||||||
if success:
|
|
||||||
sysbus = dbus.SystemBus()
|
|
||||||
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
|
|
||||||
manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')
|
|
||||||
job = manager.RestartUnit('assetto-corsa-server.service', 'replace')
|
|
||||||
if job:
|
|
||||||
print("Successfully restarted assetto-corsa-server.service")
|
|
||||||
else:
|
|
||||||
print("Failed to restart assetto-corsa-server.service")
|
|
||||||
success = False
|
|
||||||
message = "Failed to restart assetto-corsa-server.service"
|
|
||||||
print(message)
|
|
||||||
if success:
|
|
||||||
self.send_response(200)
|
|
||||||
self.send_header("Content-type", "application/json")
|
|
||||||
self.end_headers()
|
|
||||||
response = {"status": "success", "message": message}
|
|
||||||
self.wfile.write(json.dumps(response).encode())
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
self.send_response(400)
|
|
||||||
self.send_header("Content-type", "application/json")
|
|
||||||
self.end_headers()
|
|
||||||
response = {"status": "error", "message": message}
|
|
||||||
self.wfile.write(json.dumps(response).encode())
|
|
||||||
return True
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def handle_post_change_track(self):
|
||||||
|
parts = self.path.split("/")
|
||||||
|
parts = [p for p in parts if p] # remove empty
|
||||||
|
track, config = self.extract_track_and_config(parts, 1)
|
||||||
|
print(f"Changing track to '{track}' with config '{config}'")
|
||||||
|
|
||||||
|
success, message = change_track(track, config)
|
||||||
|
if success:
|
||||||
|
sysbus = dbus.SystemBus()
|
||||||
|
systemd1 = sysbus.get_object('org.freedesktop.systemd1', '/org/freedesktop/systemd1')
|
||||||
|
manager = dbus.Interface(systemd1, 'org.freedesktop.systemd1.Manager')
|
||||||
|
job = manager.RestartUnit('assetto-corsa-server.service', 'replace')
|
||||||
|
if job:
|
||||||
|
print("Successfully restarted assetto-corsa-server.service")
|
||||||
|
else:
|
||||||
|
print("Failed to restart assetto-corsa-server.service")
|
||||||
|
success = False
|
||||||
|
message = "Failed to restart assetto-corsa-server.service"
|
||||||
|
print(message)
|
||||||
|
if success:
|
||||||
|
self.send_response(200)
|
||||||
|
self.send_header("Content-type", "application/json")
|
||||||
|
self.end_headers()
|
||||||
|
response = {"status": "success", "message": message}
|
||||||
|
self.wfile.write(json.dumps(response).encode())
|
||||||
|
else:
|
||||||
|
self.send_response(400)
|
||||||
|
self.send_header("Content-type", "application/json")
|
||||||
|
self.end_headers()
|
||||||
|
response = {"status": "error", "message": message}
|
||||||
|
self.wfile.write(json.dumps(response).encode())
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
def handle_post_change_car(self):
|
||||||
|
length = int(self.headers.get("Content-Length", 0))
|
||||||
|
|
||||||
|
# 2. Lees de body
|
||||||
|
body = self.rfile.read(length).decode("utf-8")
|
||||||
|
|
||||||
|
# 3. Parse JSON
|
||||||
|
import json
|
||||||
|
try:
|
||||||
|
data = json.loads(body)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
self.send_response(400)
|
||||||
|
self.send_header("Content-Type", "application/json")
|
||||||
|
self.end_headers()
|
||||||
|
self.wfile.write(b'{"error":"invalid json"}')
|
||||||
|
return
|
||||||
|
|
||||||
|
print("Received cars:", data)
|
||||||
|
|
||||||
def send_image(self, img_path: str):
|
def send_image(self, img_path: str):
|
||||||
if os.path.exists(img_path):
|
if os.path.exists(img_path):
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
|
|||||||
@@ -89,7 +89,6 @@
|
|||||||
applyCarsBtn.addEventListener("click", applyCars);
|
applyCarsBtn.addEventListener("click", applyCars);
|
||||||
|
|
||||||
function applyCars() {
|
function applyCars() {
|
||||||
// Zoek alle car blocks
|
|
||||||
const blocks = document.querySelectorAll(".car-block");
|
const blocks = document.querySelectorAll(".car-block");
|
||||||
|
|
||||||
let cars = [];
|
let cars = [];
|
||||||
@@ -98,8 +97,8 @@
|
|||||||
const carSelect = block.querySelector(".car-select");
|
const carSelect = block.querySelector(".car-select");
|
||||||
const skinSelect = block.querySelector(".skin-select");
|
const skinSelect = block.querySelector(".skin-select");
|
||||||
|
|
||||||
const carName = carSelect?.value || null;
|
const carName = carSelect?.value || "";
|
||||||
const skinName = skinSelect?.value || null;
|
const skinName = skinSelect?.value || "";
|
||||||
|
|
||||||
if (carName) {
|
if (carName) {
|
||||||
cars.push({
|
cars.push({
|
||||||
@@ -109,7 +108,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Payload klaar
|
|
||||||
const payload = { cars };
|
const payload = { cars };
|
||||||
|
|
||||||
console.log("Sending cars:", payload);
|
console.log("Sending cars:", payload);
|
||||||
|
|||||||
Reference in New Issue
Block a user