Add embedded ModelHub auth fallback
This commit is contained in:
@@ -5,6 +5,7 @@ from datetime import datetime, timedelta
|
||||
from typing import Any
|
||||
|
||||
from common import format_modelhub_datetime, parse_datetime
|
||||
from defaults import EMBEDDED_MODELHUB_XC_TOKEN
|
||||
from http_json import HttpJsonError, JsonHttpClient
|
||||
|
||||
|
||||
@@ -25,10 +26,21 @@ class ModelHubClient:
|
||||
retries: int = 2,
|
||||
http_client: JsonHttpClient | None = None,
|
||||
) -> None:
|
||||
self.token = token or os.getenv("MODELHUB_XC_TOKEN") or os.getenv("XC_TOKEN")
|
||||
if not self.token and not os.getenv("STRATEGY_ID") and http_client is None:
|
||||
raise ValueError("ModelHub token is required. Set MODELHUB_XC_TOKEN or XC_TOKEN.")
|
||||
default_headers = {"Xc-Token": self.token} if self.token else {}
|
||||
self.token = (
|
||||
token
|
||||
or os.getenv("MODELHUB_XC_TOKEN")
|
||||
or os.getenv("XC_TOKEN")
|
||||
or os.getenv("MODELHUB_TOKEN")
|
||||
or EMBEDDED_MODELHUB_XC_TOKEN
|
||||
)
|
||||
self.jwt_token = os.getenv("MODELHUB_JWT_TOKEN") or os.getenv("JWT_TOKEN")
|
||||
if not self.token and not self.jwt_token and http_client is None:
|
||||
raise ValueError("ModelHub token is required. Set MODELHUB_XC_TOKEN/XC_TOKEN or MODELHUB_JWT_TOKEN/JWT_TOKEN.")
|
||||
default_headers = {}
|
||||
if self.token:
|
||||
default_headers["Xc-Token"] = self.token
|
||||
if self.jwt_token:
|
||||
default_headers["Authorization"] = f"Bearer {self.jwt_token}"
|
||||
self.http_client = http_client or JsonHttpClient(
|
||||
base_url=base_url,
|
||||
default_headers=default_headers,
|
||||
@@ -227,4 +239,3 @@ def is_active_task(task: dict[str, Any]) -> bool:
|
||||
if status in TERMINAL_TASK_STATUSES:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
Reference in New Issue
Block a user