migrate to Django 6, update css & settings

This commit is contained in:
Alice Snow 2026-04-01 09:44:05 +02:00
parent fa2e9f2058
commit eb6a703ca2
No known key found for this signature in database
GPG Key ID: 0B4F0B77026BE1FD
4 changed files with 1333 additions and 19 deletions

View File

@ -7,8 +7,8 @@ set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
PYTHON="${PYTHON:-python3}"
# Fail fast if Python is too old (Django 5 requires 3.10+)
"${PYTHON}" -c 'import sys; v=sys.version_info; (v.major==3 and v.minor>=10) or (print(f"Error: Python 3.10+ required for Django 5. Found {v.major}.{v.minor}", file=sys.stderr), sys.exit(1))' || exit 1
# Fail fast if Python is too old (Django 6 requires 3.10+)
"${PYTHON}" -c 'import sys; v=sys.version_info; (v.major==3 and v.minor>=10) or (print(f"Error: Python 3.10+ required for Django 6. Found {v.major}.{v.minor}", file=sys.stderr), sys.exit(1))' || exit 1
echo "==> Setting up TubeSync dev environment"
echo " Python: $($PYTHON --version)"

File diff suppressed because it is too large Load Diff

View File

@ -3,10 +3,8 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="stylesheet" href="{% static 'styles/fontawesome/css/fontawesome.css' %}" />
<link rel="stylesheet" href="{% static 'styles/fontawesome/css/brands.css' %}" />
<link rel="stylesheet" href="{% static 'styles/fontawesome/css/regular.css' %}" />
<link rel="stylesheet" href="{% static 'styles/fontawesome/css/solid.css' %}" />
<link rel="stylesheet" href="{% static 'styles/fontawesome/css/all.css' %}" />
<!-- TODO: Use individual FontAwesome files (fontawesome.css + brands.css + regular.css + solid.css) -->
<link rel="stylesheet" href="{% static 'styles/tailwind/tubesync-compiled.css' %}" />
<link rel="icon" href="{% static 'images/favicon.ico' %}" sizes="21x21" type="image/x-icon">
<title>TubeSync - {% block headtitle %}Synchronize YouTube to your local media server{% endblock %}</title>

View File

@ -229,19 +229,22 @@ except ImportError as e:
sys.exit(1)
DJANGO_HUEY = {
'default': TaskQueue.LIMIT.value,
'queues': dict(),
'verbose': None if DEBUG else False,
}
for queue_name in TaskQueue.values:
queues = DJANGO_HUEY['queues']
if TaskQueue.LIMIT.value == queue_name:
queues[queue_name] = sqlite_tasks(queue_name, prefix='net', tasks_dir=HUEY_TASKS_DIR)
elif TaskQueue.NET.value == queue_name:
queues[queue_name] = sqlite_tasks(queue_name, thread=True, workers=0, tasks_dir=HUEY_TASKS_DIR)
else:
queues[queue_name] = sqlite_tasks(queue_name, thread=True, tasks_dir=HUEY_TASKS_DIR)
# Allow local_settings.py to fully override DJANGO_HUEY (e.g. to use Redis instead of SQLite).
# If not overridden, fall back to the default sqlite_tasks-based configuration.
if not globals().get('DJANGO_HUEY'):
DJANGO_HUEY = {
'default': TaskQueue.LIMIT.value,
'queues': dict(),
'verbose': None if DEBUG else False,
}
for queue_name in TaskQueue.values:
queues = DJANGO_HUEY['queues']
if TaskQueue.LIMIT.value == queue_name:
queues[queue_name] = sqlite_tasks(queue_name, prefix='net', tasks_dir=HUEY_TASKS_DIR)
elif TaskQueue.NET.value == queue_name:
queues[queue_name] = sqlite_tasks(queue_name, thread=True, workers=0, tasks_dir=HUEY_TASKS_DIR)
else:
queues[queue_name] = sqlite_tasks(queue_name, thread=True, tasks_dir=HUEY_TASKS_DIR)
for django_huey_queue in DJANGO_HUEY['queues'].values():
connection = django_huey_queue.get('connection')
if connection: