kryten-webqueue 0.4.3__tar.gz → 0.4.4__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.
Files changed (61) hide show
  1. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/PKG-INFO +1 -1
  2. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/queue.py +8 -2
  3. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/pyproject.toml +1 -1
  4. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/.github/workflows/python-publish.yml +0 -0
  5. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/.github/workflows/release.yml +0 -0
  6. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/.gitignore +0 -0
  7. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/README.md +0 -0
  8. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/config.example.json +0 -0
  9. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/deploy/kryten-webqueue.service +0 -0
  10. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/deploy/nginx-queue.conf +0 -0
  11. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/IMPLEMENTATION_SPEC.md +0 -0
  12. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/IMPL_API_GATE.md +0 -0
  13. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/IMPL_ECONOMY.md +0 -0
  14. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/IMPL_KRYTEN_PY.md +0 -0
  15. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/IMPL_ROBOT.md +0 -0
  16. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/PRE_PLAN_GAPS.md +0 -0
  17. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/docs/PRODUCT_PLAN.md +0 -0
  18. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/__init__.py +0 -0
  19. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/__main__.py +0 -0
  20. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/api_gate/__init__.py +0 -0
  21. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/api_gate/client.py +0 -0
  22. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/app.py +0 -0
  23. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/auth/__init__.py +0 -0
  24. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/auth/otp.py +0 -0
  25. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/auth/rate_limit.py +0 -0
  26. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/auth/session.py +0 -0
  27. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/catalog/__init__.py +0 -0
  28. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/catalog/db.py +0 -0
  29. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/catalog/images.py +0 -0
  30. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/catalog/sync.py +0 -0
  31. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/config.py +0 -0
  32. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/playlists/__init__.py +0 -0
  33. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/playlists/fire.py +0 -0
  34. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/playlists/importer.py +0 -0
  35. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/playlists/scheduler.py +0 -0
  36. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/queue/__init__.py +0 -0
  37. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/queue/ordering.py +0 -0
  38. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/queue/poller.py +0 -0
  39. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/queue/shadow.py +0 -0
  40. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/__init__.py +0 -0
  41. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/admin_playlists.py +0 -0
  42. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/admin_queue.py +0 -0
  43. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/admin_schedules.py +0 -0
  44. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/auth.py +0 -0
  45. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/catalog.py +0 -0
  46. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/pages.py +0 -0
  47. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/routes/user.py +0 -0
  48. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/static/css/main.css +0 -0
  49. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/static/js/main.js +0 -0
  50. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/admin/index.html +0 -0
  51. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/admin/playlists.html +0 -0
  52. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/admin/queue_mgmt.html +0 -0
  53. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/admin/schedules.html +0 -0
  54. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/auth/login.html +0 -0
  55. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/base.html +0 -0
  56. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/catalog/browse.html +0 -0
  57. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/queue/index.html +0 -0
  58. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/templates/user/dashboard.html +0 -0
  59. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/ws/__init__.py +0 -0
  60. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/ws/handler.py +0 -0
  61. {kryten_webqueue-0.4.3 → kryten_webqueue-0.4.4}/kryten_webqueue/ws/manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kryten-webqueue
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: Netflix/Tubi-style catalog browser and pay-to-play queue management for CyTube
5
5
  Author: grobertson
6
6
  License-Expression: MIT
@@ -43,7 +43,10 @@ async def add_to_queue(request: Request, user: dict = Depends(get_current_user))
43
43
  duration_sec=item["duration_sec"],
44
44
  tier=tier,
45
45
  )
46
- z_cost = preview.get("cost") or preview.get("z_cost")
46
+ if not preview.get("available", True):
47
+ error_code = preview.get("error_code") or "unavailable"
48
+ raise HTTPException(400, error_code)
49
+ z_cost = preview.get("cost_z")
47
50
  if z_cost is None:
48
51
  raise HTTPException(502, "Cost preview returned no cost value")
49
52
 
@@ -95,7 +98,10 @@ async def play_next(request: Request, user: dict = Depends(get_current_user)):
95
98
  duration_sec=item["duration_sec"],
96
99
  tier=tier,
97
100
  )
98
- z_cost = preview.get("cost") or preview.get("z_cost")
101
+ if not preview.get("available", True):
102
+ error_code = preview.get("error_code") or "unavailable"
103
+ raise HTTPException(400, error_code)
104
+ z_cost = preview.get("cost_z")
99
105
  if z_cost is None:
100
106
  raise HTTPException(502, "Cost preview returned no cost value")
101
107
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kryten-webqueue"
3
- version = "0.4.3"
3
+ version = "0.4.4"
4
4
  description = "Netflix/Tubi-style catalog browser and pay-to-play queue management for CyTube"
5
5
  readme = "README.md"
6
6
  license = "MIT"