Skip to content

Commit 47dc622

Browse files
committed
allow use of raw strings in request params
1 parent bbe8370 commit 47dc622

2 files changed

Lines changed: 28 additions & 16 deletions

File tree

src/lpdb/async_session/async_session.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ async def make_request(
7474
limit: int = 20,
7575
offset: int = 0,
7676
conditions: Optional[str] = None,
77-
query: Optional[list[str]] = None,
78-
order: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
79-
groupby: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
77+
query: Optional[str | list[str]] = None,
78+
order: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
79+
groupby: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
8080
**kwargs,
8181
) -> list[dict[str, Any]]:
8282
if not AbstractLpdbSession._validate_datatype_name(lpdb_datatype):

src/lpdb/session.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,9 @@ def _parse_params(
220220
limit: int = 20,
221221
offset: int = 0,
222222
conditions: Optional[str] = None,
223-
query: Optional[list[str]] = None,
224-
order: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
225-
groupby: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
223+
query: Optional[str | list[str]] = None,
224+
order: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
225+
groupby: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
226226
**kwargs,
227227
):
228228
parameters = dict(kwargs)
@@ -237,15 +237,27 @@ def _parse_params(
237237
if conditions != None:
238238
parameters["conditions"] = conditions
239239
if query != None:
240-
parameters["query"] = ", ".join(query)
240+
if isinstance(query, str):
241+
parameters["query"] = query
242+
else:
243+
parameters["query"] = ", ".join(query)
241244
if order != None:
242-
parameters["order"] = ", ".join(
243-
[f"{order_tuple[0]} {order_tuple[1]}" for order_tuple in order]
244-
)
245+
if isinstance(order, str):
246+
parameters["order"] = order
247+
else:
248+
parameters["order"] = ", ".join(
249+
[f"{order_tuple[0]} {order_tuple[1]}" for order_tuple in order]
250+
)
245251
if groupby != None:
246-
parameters["groupby"] = ", ".join(
247-
[f"{groupby_tuple[0]} {groupby_tuple[1]}" for groupby_tuple in groupby]
248-
)
252+
if isinstance(groupby, str):
253+
parameters["groupby"] = groupby
254+
else:
255+
parameters["groupby"] = ", ".join(
256+
[
257+
f"{groupby_tuple[0]} {groupby_tuple[1]}"
258+
for groupby_tuple in groupby
259+
]
260+
)
249261
return parameters
250262

251263
@staticmethod
@@ -295,9 +307,9 @@ def make_request(
295307
limit: int = 20,
296308
offset: int = 0,
297309
conditions: Optional[str] = None,
298-
query: Optional[list[str]] = None,
299-
order: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
300-
groupby: Optional[list[tuple[str, Literal["asc", "desc"]]]] = None,
310+
query: Optional[str | list[str]] = None,
311+
order: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
312+
groupby: Optional[str | list[tuple[str, Literal["asc", "desc"]]]] = None,
301313
**kwargs,
302314
) -> list[dict[str, Any]]:
303315
if not AbstractLpdbSession._validate_datatype_name(lpdb_datatype):

0 commit comments

Comments
 (0)