summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/tmdb.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/tmdb.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/tmdb.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/tmdb.py b/packages/meshbay-node/src/meshbay_node/tmdb.py
index 448a2b9..a530660 100644
--- a/packages/meshbay-node/src/meshbay_node/tmdb.py
+++ b/packages/meshbay-node/src/meshbay_node/tmdb.py
@@ -20,6 +20,12 @@ Results also come back in whatever language the operator configured
node, same reasoning as the token: one shared cache, not a per-viewer
request. Omitted entirely when unset, which lets TMDB fall back to its own
default (English) rather than this client guessing one.
+
+Whether TMDB is used *at all* is a **per-group** decision (roster.py's
+`tmdb_enabled(group_id)`, moved off the node-wide sentinel 2026-08-24) —
+this client has no group in scope, so that check happens once, in
+webrtc_server.py, before any of this client's methods are ever called for a
+given request. This client only resolves the shared credential/language.
"""
import difflib
@@ -80,17 +86,24 @@ class TmdbClient:
await self._client.aclose()
async def _resolve(self) -> tuple[bool, str | None, str | None]:
- """Returns (enabled, token, language). token/language are None when unset."""
+ """
+ Returns (has_token, token, language). token/language are None when
+ unset. Whether TMDB is used *at all* is a per-group decision made by
+ the caller (roster.tmdb_enabled(group_id), checked in
+ webrtc_server.py before any of this client's methods are called) —
+ this client only knows the node-wide credential/language, and has no
+ group to check against.
+ """
if self._roster is not None:
- enabled, custom_token, language = await self._roster.tmdb_config()
+ custom_token, language = await self._roster.tmdb_config()
else:
- enabled, custom_token, language = True, None, None
+ custom_token, language = None, None
token = custom_token or os.environ.get(_DEFAULT_TOKEN_ENV) or None
- return enabled and bool(token), token, language
+ return bool(token), token, language
async def _get(self, path: str, params: dict) -> dict | None:
- enabled, token, language = await self._resolve()
- if not enabled:
+ has_token, token, language = await self._resolve()
+ if not has_token:
return None
if language and "language" not in params:
params = {**params, "language": language}