Skip to content

Commit c9e3b4c

Browse files
committed
allow changing base url
1 parent 7967833 commit c9e3b4c

2 files changed

Lines changed: 26 additions & 23 deletions

File tree

src/lpdb/async_session/async_session.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ class AsyncLpdbSession(AbstractLpdbSession):
1717

1818
__session: aiohttp.ClientSession
1919

20-
def __init__(self, api_key):
21-
super().__init__(api_key)
20+
def __init__(self, api_key, base_url=AbstractLpdbSession.BASE_URL):
21+
super().__init__(api_key, base_url=base_url)
2222
self.__session = aiohttp.ClientSession(
23-
AbstractLpdbSession.BASE_URL, headers=self._get_header()
23+
self._base_url, headers=self._get_header()
2424
)
2525

2626
def __enter__(self) -> None:

src/lpdb/session.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -80,27 +80,30 @@ class AbstractLpdbSession(ABC):
8080

8181
BASE_URL: Final[str] = "https://api.liquipedia.net/api/v3/"
8282

83-
__DATA_TYPES: Final[frozenset[str]] = frozenset({
84-
"broadcasters",
85-
"company",
86-
"datapoint",
87-
"externalmedialink",
88-
"match",
89-
"placement",
90-
"player",
91-
"series",
92-
"squadplayer",
93-
"standingsentry",
94-
"standingstable",
95-
"team",
96-
"tournament",
97-
"transfer",
98-
})
83+
__DATA_TYPES: Final[frozenset[str]] = frozenset(
84+
{
85+
"broadcasters",
86+
"company",
87+
"datapoint",
88+
"externalmedialink",
89+
"match",
90+
"placement",
91+
"player",
92+
"series",
93+
"squadplayer",
94+
"standingsentry",
95+
"standingstable",
96+
"team",
97+
"tournament",
98+
"transfer",
99+
}
100+
)
99101

100102
__api_key: str
101103

102-
def __init__(self, api_key: str):
104+
def __init__(self, api_key: str, base_url: str = BASE_URL):
103105
self.__api_key = re.sub(r"^ApiKey ", "", api_key)
106+
self._base_url = base_url
104107

105108
@cache
106109
def _get_header(self) -> dict[str, str]:
@@ -317,7 +320,7 @@ def make_request(
317320
if not AbstractLpdbSession._validate_datatype_name(lpdb_datatype):
318321
raise ValueError(f'Invalid LPDB data type: "{lpdb_datatype}"')
319322
lpdb_response = requests.get(
320-
AbstractLpdbSession.BASE_URL + lpdb_datatype,
323+
self._base_url + lpdb_datatype,
321324
headers=self._get_header(),
322325
params=AbstractLpdbSession._parse_params(
323326
wiki=wiki,
@@ -343,7 +346,7 @@ def get_team_template(
343346
if date != None:
344347
params["date"] = date.isoformat()
345348
lpdb_response = requests.get(
346-
AbstractLpdbSession.BASE_URL + "teamtemplate",
349+
self._base_url + "teamtemplate",
347350
headers=self._get_header(),
348351
params=params,
349352
)
@@ -354,7 +357,7 @@ def get_team_template_list(
354357
self, wiki: str, pagination: int = 1
355358
) -> list[dict[str, Any]]:
356359
lpdb_response = requests.get(
357-
AbstractLpdbSession.BASE_URL + "teamtemplatelist",
360+
self._base_url + "teamtemplatelist",
358361
headers=self._get_header(),
359362
params={"wiki": wiki, "pagination": pagination},
360363
)

0 commit comments

Comments
 (0)