kryten-webqueue 0.9.11__tar.gz → 0.9.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/CHANGELOG.md +6 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/PKG-INFO +1 -1
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/ytpipe/downloader.py +6 -2
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/pyproject.toml +1 -1
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/.github/workflows/python-publish.yml +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/.github/workflows/release.yml +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/.gitignore +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/README.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/config.example.json +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/deploy/kryten-webqueue.service +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/deploy/nginx-queue.conf +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/IMPLEMENTATION_SPEC.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/IMPL_API_GATE.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/IMPL_ECONOMY.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/IMPL_KRYTEN_PY.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/IMPL_ROBOT.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/PRE_PLAN_GAPS.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/PRODUCT_PLAN.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/docs/SPEC_JOBS_AND_BROWSE.md +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/__main__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/api_gate/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/api_gate/client.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/app.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/auth/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/auth/otp.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/auth/rate_limit.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/auth/session.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/catalog/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/catalog/db.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/catalog/images.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/catalog/mediacms.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/catalog/sync.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/config.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/_common.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/enrichmeta.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/enrichtitles.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/enrichtv.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/fetchurls.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/ytpipe/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/jobs/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/jobs/fetchurls_auth.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/jobs/manager.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/jobs/tasks.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/playlists/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/playlists/fire.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/playlists/importer.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/playlists/scheduler.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/queue/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/queue/ordering.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/queue/poller.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/queue/shadow.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/admin_catalog.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/admin_jobs.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/admin_playlists.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/admin_queue.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/admin_schedules.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/auth.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/catalog.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/pages.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/queue.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/routes/user.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/static/css/main.css +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/static/js/main.js +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/index.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/playlists.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/queue_mgmt.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/schedules.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/auth/login.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/base.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/catalog/browse.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/catalog/item_detail.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/catalog/item_not_found.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/queue/index.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/user/dashboard.html +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/ws/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/ws/handler.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/ws/manager.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/__init__.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_fetchurls_sharepoint.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_phase1.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_phase2_jobs.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_phase3_jobs.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_phase4_live_fixes.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_playlist_import.py +0 -0
- {kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/tests/test_queue_announce.py +0 -0
|
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.9.12] — 2026-06-12
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **`fetch`/`fetchurls` no longer crash with "Invalid js_runtimes format".** Newer yt-dlp expects `js_runtimes` as a dict of `{runtime: {config}}`, not a list; the vendored downloader now passes `js_runtimes={'deno': {}, 'node': {}}`.
|
|
14
|
+
|
|
9
15
|
## [0.9.11] — 2026-06-12
|
|
10
16
|
|
|
11
17
|
### Fixed
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/ytpipe/downloader.py
RENAMED
|
@@ -41,13 +41,17 @@ from slugify import slugify
|
|
|
41
41
|
# available runtime is used. Applied centrally via a thin YoutubeDL subclass so
|
|
42
42
|
# every extraction/download call in this module gets it without editing each
|
|
43
43
|
# ydl_opts dict. ``setdefault`` means an explicit per-call value still wins.
|
|
44
|
-
|
|
44
|
+
#
|
|
45
|
+
# yt-dlp expects ``js_runtimes`` as a dict of ``{runtime: {config}}`` (an empty
|
|
46
|
+
# dict means default config for that runtime); passing a list raises
|
|
47
|
+
# "Invalid js_runtimes format, expected a dict of {runtime: {config}}".
|
|
48
|
+
_JS_RUNTIMES = {"deno": {}, "node": {}}
|
|
45
49
|
|
|
46
50
|
|
|
47
51
|
class _YoutubeDLWithJSRuntimes(yt_dlp.YoutubeDL):
|
|
48
52
|
def __init__(self, params=None, *args, **kwargs): # noqa: D107
|
|
49
53
|
merged = dict(params or {})
|
|
50
|
-
merged.setdefault("js_runtimes", _JS_RUNTIMES)
|
|
54
|
+
merged.setdefault("js_runtimes", dict(_JS_RUNTIMES))
|
|
51
55
|
super().__init__(merged, *args, **kwargs)
|
|
52
56
|
|
|
53
57
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/__init__.py
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/_common.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/enrichtv.py
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/cmsutils/fetchurls.py
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/integrations/ytpipe/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/index.html
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/playlists.html
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/queue_mgmt.html
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/admin/schedules.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/catalog/browse.html
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/catalog/item_detail.html
RENAMED
|
File without changes
|
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/queue/index.html
RENAMED
|
File without changes
|
{kryten_webqueue-0.9.11 → kryten_webqueue-0.9.12}/kryten_webqueue/templates/user/dashboard.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|