Skip to content

Commit 7f69c4f

Browse files
authored
Introduce Search dataclass for query handling (#23)
* Introduce Search dataclass for query handling Added a Search dataclass to facilitate search queries.
1 parent da53b5c commit 7f69c4f

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

pyopds2/models.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"""
55

66
from datetime import datetime
7+
from dataclasses import dataclass, asdict
78
from typing import TYPE_CHECKING, Any, Dict, List, Optional
89

910
from pydantic import BaseModel, Field # field_validator
@@ -242,3 +243,14 @@ def create(
242243
catalog.add_pagination(response)
243244

244245
return catalog
246+
247+
@dataclass
248+
class Search:
249+
query: str
250+
limit: int
251+
offset: Optional[int] = None
252+
sort: Optional[str] = None
253+
254+
def __iter__(self):
255+
"""Allows **Search(...) to unpack into a dict for DataProvider.search(**s)"""
256+
return iter(asdict(self).items())

0 commit comments

Comments
 (0)