add: new formating
This commit is contained in:
@@ -46,7 +46,7 @@ def set_shutdown(time, now):
|
||||
return
|
||||
LAST_VALUE = time
|
||||
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():
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
from flask import Flask, render_template, request, redirect, url_for, jsonify
|
||||
import sqlite3
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
# -- INIT --
|
||||
app = Flask(__name__)
|
||||
|
||||
pattern = re.compile(r"^(?:[01]\d|2[0-3]):[0-5]\d$") # Regex "XX:XX"
|
||||
|
||||
# -- GLOBAL VAR --
|
||||
DB_PATH = "data.db"
|
||||
DEFAULT_TIME = "21:00"
|
||||
|
||||
## -- INIT DB --
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
cursor = conn.cursor()
|
||||
|
||||
cursor.execute("""
|
||||
CREATE TABLE IF NOT EXISTS items (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -30,11 +33,13 @@ if count == 0:
|
||||
cursor.execute("INSERT INTO val (default_time) VALUES (?)", ('21:00',))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
# -- END --
|
||||
|
||||
def get_db_connection():
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
conn.row_factory = sqlite3.Row
|
||||
return conn
|
||||
|
||||
# --- MAIN ---
|
||||
@app.route("/")
|
||||
def mainpage():
|
||||
@@ -122,6 +127,8 @@ def lookup():
|
||||
cursor.execute("SELECT default_time FROM val")
|
||||
default_time_row = cursor.fetchone()
|
||||
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()
|
||||
|
||||
if item:
|
||||
|
||||
@@ -66,57 +66,61 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-dark bg-opacity-75 p-3">
|
||||
<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="col-3">Whitelist</div>
|
||||
<div class="col-3">Time</div>
|
||||
<div class="col-2 text-end">Actions</div>
|
||||
</div>
|
||||
<div class="table-items">
|
||||
{% for item in items %}
|
||||
<div class="row align-items-center py-2">
|
||||
<div class="col-4 text-white">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div class="card bg-dark bg-opacity-75 p-3">
|
||||
<h5 class="text-white mb-3">Liste des éléments</h5>
|
||||
|
||||
<div class="col-3">
|
||||
{% if item.noshutdown == 1 %}
|
||||
<span class="text-success">OUI</span>
|
||||
{% else %}
|
||||
<span class="text-danger">NON</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="row fw-bold text-white mb-2">
|
||||
<div class="col-4">Nom</div>
|
||||
<div class="col-3">Dernier ping</div>
|
||||
<div class="col-2">Whitelist</div>
|
||||
<div class="col-2">Time</div>
|
||||
<div class="col-1 text-end">Actions</div>
|
||||
</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 class="table-items">
|
||||
{% for item in items %}
|
||||
<div class="row align-items-center py-2">
|
||||
<div class="col-4 text-white">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
{% if not loop.last %}
|
||||
<hr class="border-secondary my-1">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<div class="col-3 text-white">
|
||||
{{ item.last_connection }}
|
||||
</div>
|
||||
<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-dialog">
|
||||
<div class="modal-content bg-dark text-white">
|
||||
|
||||
Reference in New Issue
Block a user