Enable debug mode in config, enhance HTML response handling with minification, and clean up worklog template by removing commented button
This commit is contained in:
parent
fa37497e3a
commit
f17051224d
5 changed files with 35 additions and 29 deletions
|
@ -9,7 +9,7 @@ def quote(value: str) -> str:
|
|||
|
||||
class Config:
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
DEBUG = False
|
||||
DEBUG = True
|
||||
TESTING = False
|
||||
|
||||
DB_BACKEND = os.getenv('DB_BACKEND', 'sqlite').lower()
|
||||
|
|
|
@ -1,18 +1,30 @@
|
|||
from bs4 import BeautifulSoup
|
||||
from flask import current_app as app
|
||||
import re
|
||||
|
||||
from . import main
|
||||
|
||||
@main.after_request
|
||||
def prettify_html_response(response):
|
||||
if app.debug and response.content_type.startswith("text/html"):
|
||||
def prettify_or_minify_html_response(response):
|
||||
print(app.debug, response.content_type)
|
||||
if response.content_type.startswith("text/html"):
|
||||
try:
|
||||
soup = BeautifulSoup(response.get_data(as_text=True), 'html5lib')
|
||||
pretty_html = soup.prettify()
|
||||
html = response.get_data(as_text=True)
|
||||
soup = BeautifulSoup(html, 'html5lib')
|
||||
|
||||
if app.debug:
|
||||
pretty_html = soup.prettify()
|
||||
response.set_data(pretty_html.encode("utf-8")) # type: ignore
|
||||
else:
|
||||
# Minify by stripping extra whitespace between tags and inside text
|
||||
minified_html = re.sub(r">\s+<", "><", str(soup)) # collapse whitespace between tags
|
||||
minified_html = re.sub(r"\s{2,}", " ", minified_html) # collapse multi-spaces to one
|
||||
minified_html = re.sub(r"\n+", "", minified_html) # remove newlines
|
||||
|
||||
response.set_data(minified_html.encode("utf-8")) # type: ignore
|
||||
|
||||
response.set_data(pretty_html.encode("utf-8")) # type: ignore
|
||||
response.headers['Content-Type'] = 'text/html; charset=utf-8'
|
||||
|
||||
except Exception as e:
|
||||
print(f"⚠️ Prettifying failed: {e}")
|
||||
print(f"⚠️ Prettifying/Minifying failed: {e}")
|
||||
|
||||
return response
|
||||
|
|
|
@ -263,37 +263,35 @@
|
|||
) }}
|
||||
</div>
|
||||
{% if worklog %}
|
||||
<div class="col" id="worklog" style="max-height: 300px">
|
||||
<div class="col" id="worklog">
|
||||
<div class="row">
|
||||
<div class="col form-label">
|
||||
Work Log Entries
|
||||
{% set id_list = worklog_rows | map(attribute='id') | list %}
|
||||
{{ links.export_link(
|
||||
id = (item.identifier | replace('Name: ', '')
|
||||
| replace('ID:', '')
|
||||
| replace('Serial: ', '')
|
||||
| replace('Barcode: ', '')
|
||||
| lower) + '_worklog',
|
||||
| replace('ID:', '')
|
||||
| replace('Serial: ', '')
|
||||
| replace('Barcode: ', '')
|
||||
| lower) + '_worklog',
|
||||
endpoint = 'worklog',
|
||||
ids = {'ids': id_list}
|
||||
) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border overflow-auto">
|
||||
<div class="col">
|
||||
<div class="row border">
|
||||
<div class="col overflow-auto" style="max-height: 300px;">
|
||||
{% for note in notes %}
|
||||
{% set title %}
|
||||
{{ note.timestamp.strftime('%Y-%m-%d %H:%M:%S') }}{{ links.entry_link('worklog_entry', note.work_log_id) }}
|
||||
{% endset %}
|
||||
<div class="row">
|
||||
{{ editor.render_editor(
|
||||
id = 'updates' + (note.id | string),
|
||||
title = title,
|
||||
content = note.content,
|
||||
mode = 'view',
|
||||
enabled = false
|
||||
) }}
|
||||
</div>
|
||||
{{ editor.render_editor(
|
||||
id = 'updates' + (note.id | string),
|
||||
title = title,
|
||||
content = note.content,
|
||||
mode = 'view',
|
||||
enabled = false
|
||||
) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -219,11 +219,6 @@
|
|||
<label class="form-label">Updates</label>
|
||||
</div>
|
||||
<div class="col">
|
||||
{#
|
||||
<button class="btn btn-primary mb-3" id="addUpdateButton"{% if log.complete %} disabled{% endif %}>
|
||||
{{ icons.render_icon('plus-lg', 16) }}
|
||||
</button>
|
||||
#}
|
||||
{% set addUpdateLogic %}
|
||||
function formatDate(date) {
|
||||
const pad = (n) => String(n).padStart(2, '0');
|
||||
|
|
|
@ -11,6 +11,7 @@ dependencies = [
|
|||
"pandas",
|
||||
"pyodbc",
|
||||
"python-dotenv",
|
||||
"waitress",
|
||||
"Werkzeug"
|
||||
]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue