Added object search/listing

This commit is contained in:
Michael Woods
2025-02-16 13:57:24 -05:00
parent e56e152491
commit a20e831d94

View File

@@ -103,3 +103,30 @@ def get_object_by_uuid(client: Client, bbs_callsign: str, uuid: Union[str, bytes
raise RuntimeError(f"Sending job failed: {response.status_code}: {response.payload}")
return ObjectWrapper(response.payload)
def get_user_objects(client: Client, bbs_callsign: str, limit: int = 10, include_data: bool = True, search: str = None,
reverse: bool = False, sort_date: bool = False, sort_name: bool = False, sort_size: bool = False)\
-> list[ObjectWrapper]:
req = Request.blank()
if include_data:
req.set_var('fetch', 1)
if sort_date:
req.set_var('sort', 'date')
if sort_size:
req.set_var('sort', 'size')
if sort_name:
req.set_var('sort', 'name')
req.set_var('reverse', reverse)
req.set_var('limit', limit)
if search is not None:
req.set_var('search', str(search))
req.path = "object"
req.method = Request.Method.GET
response = client.send_receive_callsign(req, bbs_callsign)
if response.status_code != 200:
raise RuntimeError(f"Sending job failed: {response.status_code}: {response.payload}")
out_list = []
for o in response.payload:
out_list.append(ObjectWrapper(o))
return out_list