add: new formating

This commit is contained in:
2026-03-26 10:19:16 +00:00
parent f8edc84579
commit 3e00258cfe
3 changed files with 64 additions and 53 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ def set_shutdown(time, now):
return return
LAST_VALUE = time LAST_VALUE = time
print("[BS Shutdown] shutting down in " + str(time - now) + " seconds") print("[BS Shutdown] shutting down in " + str(time - now) + " seconds")
subprocess.run(["shutdown", "-r", "-t", str(time - now)]) subprocess.run(["shutdown", "-r", "-f", "-t", str(time - now)])
def remove_shutdown(): def remove_shutdown():
+9 -2
View File
@@ -1,16 +1,19 @@
from flask import Flask, render_template, request, redirect, url_for, jsonify from flask import Flask, render_template, request, redirect, url_for, jsonify
import sqlite3 import sqlite3
import re import re
from datetime import datetime
# -- INIT --
app = Flask(__name__) app = Flask(__name__)
pattern = re.compile(r"^(?:[01]\d|2[0-3]):[0-5]\d$") # Regex "XX:XX" pattern = re.compile(r"^(?:[01]\d|2[0-3]):[0-5]\d$") # Regex "XX:XX"
# -- GLOBAL VAR --
DB_PATH = "data.db" DB_PATH = "data.db"
DEFAULT_TIME = "21:00" DEFAULT_TIME = "21:00"
## -- INIT DB --
conn = sqlite3.connect(DB_PATH) conn = sqlite3.connect(DB_PATH)
cursor = conn.cursor() cursor = conn.cursor()
cursor.execute(""" cursor.execute("""
CREATE TABLE IF NOT EXISTS items ( CREATE TABLE IF NOT EXISTS items (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -30,11 +33,13 @@ if count == 0:
cursor.execute("INSERT INTO val (default_time) VALUES (?)", ('21:00',)) cursor.execute("INSERT INTO val (default_time) VALUES (?)", ('21:00',))
conn.commit() conn.commit()
conn.close() conn.close()
# -- END --
def get_db_connection(): def get_db_connection():
conn = sqlite3.connect(DB_PATH) conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row conn.row_factory = sqlite3.Row
return conn return conn
# --- MAIN --- # --- MAIN ---
@app.route("/") @app.route("/")
def mainpage(): def mainpage():
@@ -122,6 +127,8 @@ def lookup():
cursor.execute("SELECT default_time FROM val") cursor.execute("SELECT default_time FROM val")
default_time_row = cursor.fetchone() default_time_row = cursor.fetchone()
default_time = default_time_row[0] if default_time_row else DEFAULT_TIME default_time = default_time_row[0] if default_time_row else DEFAULT_TIME
if item:
corsor.execute("UPDATE items SET last_connection = ? WHERE name = ?", datetime.now(), item["name"])
conn.close() conn.close()
if item: if item:
+54 -50
View File
@@ -66,57 +66,61 @@
</div> </div>
</div> </div>
<div class="card bg-dark bg-opacity-75 p-3"> <div class="card bg-dark bg-opacity-75 p-3">
<h5 class="text-white mb-3">Liste des éléments</h5> <h5 class="text-white mb-3">Liste des éléments</h5>
<div class="row fw-bold text-white mb-2">
<div class="col-4">Nom</div> <div class="row fw-bold text-white mb-2">
<div class="col-3">Whitelist</div> <div class="col-4">Nom</div>
<div class="col-3">Time</div> <div class="col-3">Dernier ping</div>
<div class="col-2 text-end">Actions</div> <div class="col-2">Whitelist</div>
</div> <div class="col-2">Time</div>
<div class="table-items"> <div class="col-1 text-end">Actions</div>
{% for item in items %} </div>
<div class="row align-items-center py-2">
<div class="col-4 text-white"> <div class="table-items">
{{ item.name }} {% for item in items %}
</div> <div class="row align-items-center py-2">
<div class="col-4 text-white">
<div class="col-3"> {{ item.name }}
{% if item.noshutdown == 1 %}
<span class="text-success">OUI</span>
{% else %}
<span class="text-danger">NON</span>
{% endif %}
</div>
<div class="col-3 text-white">
{% if item.noshutdown == 0 %}
{{ item.time }}
{% endif %}
</div>
<div class="col-2 text-end d-flex justify-content-end gap-2">
<button
type="button"
class="btn btn-sm btn-warning edit-btn"
data-name="{{ item.name }}"
data-noshutdown="{{ item.noshutdown }}"
data-time="{{ item.time }}"
data-bs-toggle="modal"
data-bs-target="#editModal">
<i class="bi bi-pencil"></i>Modifier
</button>
<form method="post" action="/delete" class="m-0">
<input type="hidden" name="item_name" value="{{ item.name }}">
<button type="submit" class="btn btn-sm btn-danger">
<i class="bi bi-x-lg"></i>Supprimer
</button>
</form>
</div>
</div> </div>
{% if not loop.last %} <div class="col-3 text-white">
<hr class="border-secondary my-1"> {{ item.last_connection }}
{% endif %} </div>
{% endfor %} <div class="col-2">
{% if item.noshutdown == 1 %}
<span class="text-success">OUI</span>
{% else %}
<span class="text-danger">NON</span>
{% endif %}
</div>
<div class="col-2 text-white">
{% if item.noshutdown == 0 %}
{{ item.time }}
{% endif %}
</div>
<div class="col-1 text-end d-flex justify-content-end gap-1">
<button
type="button"
class="btn btn-sm btn-warning edit-btn"
data-name="{{ item.name }}"
data-noshutdown="{{ item.noshutdown }}"
data-time="{{ item.time }}"
data-bs-toggle="modal"
data-bs-target="#editModal">
<i class="bi bi-pencil"></i>
</button>
<form method="post" action="/delete" class="m-0">
<input type="hidden" name="item_name" value="{{ item.name }}">
<button type="submit" class="btn btn-sm btn-danger">
<i class="bi bi-x-lg"></i>
</button>
</form>
</div>
</div>
{% if not loop.last %}
<hr class="border-secondary my-1">
{% endif %}
{% endfor %}
<div class="modal fade" id="editModal" tabindex="-1"> <div class="modal fade" id="editModal" tabindex="-1">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content bg-dark text-white"> <div class="modal-content bg-dark text-white">