aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkj_sh6042026-03-16 14:03:16 -0400
committerkj_sh6042026-03-16 14:03:16 -0400
commit3cbe7f72f0d85d95d61b2703087fc592318f3495 (patch)
tree2e47fc41271134e9cecd29f97f603d76a832d0d2 /src
parent17128baa36e24f8d3bce2701b1308b03f6fc5c01 (diff)
refactor: 24.04 vps compatibility and README re-write
Diffstat (limited to 'src')
-rw-r--r--src/app.py22
-rw-r--r--src/requirements.txt6
2 files changed, 19 insertions, 9 deletions
diff --git a/src/app.py b/src/app.py
index dce80a6..7d75f2b 100644
--- a/src/app.py
+++ b/src/app.py
@@ -1,5 +1,4 @@
#!/usr/bin/env python3
-# sent-web — app.py
import base64
import os
@@ -12,6 +11,7 @@ import magic
from flask import Flask, Response, jsonify, request, send_file, send_from_directory
app = Flask(__name__, static_folder=None)
+app.config["MAX_CONTENT_LENGTH"] = 50 * 1024 * 1024 # 50 MB upload cap
UPLOAD_DIR = Path(__file__).parent / "uploads"
UPLOAD_DIR.mkdir(mode=0o755, exist_ok=True)
@@ -84,11 +84,21 @@ def upload():
@app.route("/fonts")
def fonts():
- result = subprocess.run(
- ["fc-list", "--format=%{family}|%{style}|%{file}\n"],
- capture_output=True,
- text=True,
- )
+ try:
+ result = subprocess.run(
+ ["fc-list", "--format=%{family}|%{style}|%{file}\n"],
+ capture_output=True,
+ text=True,
+ shell=False,
+ timeout=10,
+ check=False,
+ )
+ except (FileNotFoundError, subprocess.TimeoutExpired):
+ return jsonify([])
+
+ if result.returncode != 0:
+ return jsonify([])
+
if not result.stdout.strip():
return jsonify([])
diff --git a/src/requirements.txt b/src/requirements.txt
index c9d8662..dfce493 100644
--- a/src/requirements.txt
+++ b/src/requirements.txt
@@ -1,3 +1,3 @@
-flask>=3.0,<4
-gunicorn>=22,<25
-python-magic>=0.4.27
+flask>=3.0,<3.2
+gunicorn>=22,<24
+python-magic>=0.4.27,<0.5 \ No newline at end of file