Skip to content

Commit 0ab5fc1

Browse files
committed
standardiize
1 parent 35af585 commit 0ab5fc1

File tree

2 files changed

+63
-4
lines changed

2 files changed

+63
-4
lines changed

stac_fastapi/elasticsearch/stac_fastapi/elasticsearch/core.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,10 @@ async def item_collection(
216216
async def get_item(self, item_id: str, collection_id: str, **kwargs) -> Item:
217217
"""Get an item from the database based on its id and collection id.
218218
219+
Args:
220+
collection_id (str): The ID of the collection the item belongs to.
221+
item_id (str): The ID of the item to be retrieved.
222+
219223
Returns:
220224
Item: An `Item` object representing the requested item.
221225

stac_fastapi/elasticsearch/stac_fastapi/elasticsearch/database_logic.py

Lines changed: 59 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,22 @@ async def create_collection(self, collection: Collection, refresh: bool = False)
695695
await create_item_index(collection_id)
696696

697697
async def find_collection(self, collection_id: str) -> Collection:
698-
"""Database logic to find and return a collection."""
698+
"""Find and return a collection from the database.
699+
700+
Args:
701+
self: The instance of the object calling this function.
702+
collection_id (str): The ID of the collection to be found.
703+
704+
Returns:
705+
Collection: The found collection, represented as a `Collection` object.
706+
707+
Raises:
708+
NotFoundError: If the collection with the given `collection_id` is not found in the database.
709+
710+
Notes:
711+
This function searches for a collection in the database using the specified `collection_id` and returns the found
712+
collection as a `Collection` object. If the collection is not found, a `NotFoundError` is raised.
713+
"""
699714
try:
700715
collection = await self.client.get(
701716
index=COLLECTIONS_INDEX, id=collection_id
@@ -706,7 +721,21 @@ async def find_collection(self, collection_id: str) -> Collection:
706721
return collection["_source"]
707722

708723
async def delete_collection(self, collection_id: str, refresh: bool = False):
709-
"""Database logic for deleting one collection."""
724+
"""Delete a collection from the database.
725+
726+
Parameters:
727+
self: The instance of the object calling this function.
728+
collection_id (str): The ID of the collection to be deleted.
729+
refresh (bool): Whether to refresh the index after the deletion (default: False).
730+
731+
Raises:
732+
NotFoundError: If the collection with the given `collection_id` is not found in the database.
733+
734+
Notes:
735+
This function first verifies that the collection with the specified `collection_id` exists in the database, and then
736+
deletes the collection. If `refresh` is set to True, the index is refreshed after the deletion. Additionally, this
737+
function also calls `delete_item_index` to delete the index for the items in the collection.
738+
"""
710739
await self.find_collection(collection_id=collection_id)
711740
await self.client.delete(
712741
index=COLLECTIONS_INDEX, id=collection_id, refresh=refresh
@@ -716,7 +745,20 @@ async def delete_collection(self, collection_id: str, refresh: bool = False):
716745
async def bulk_async(
717746
self, collection_id: str, processed_items: List[Item], refresh: bool = False
718747
) -> None:
719-
"""Database logic for async bulk item insertion."""
748+
"""Perform a bulk insert of items into the database asynchronously.
749+
750+
Args:
751+
self: The instance of the object calling this function.
752+
collection_id (str): The ID of the collection to which the items belong.
753+
processed_items (List[Item]): A list of `Item` objects to be inserted into the database.
754+
refresh (bool): Whether to refresh the index after the bulk insert (default: False).
755+
756+
Notes:
757+
This function performs a bulk insert of `processed_items` into the database using the specified `collection_id`. The
758+
insert is performed asynchronously, and the event loop is used to run the operation in a separate executor. The
759+
`mk_actions` function is called to generate a list of actions for the bulk insert. If `refresh` is set to True, the
760+
index is refreshed after the bulk insert. The function does not return any value.
761+
"""
720762
await asyncio.get_event_loop().run_in_executor(
721763
None,
722764
lambda: helpers.bulk(
@@ -730,7 +772,20 @@ async def bulk_async(
730772
def bulk_sync(
731773
self, collection_id: str, processed_items: List[Item], refresh: bool = False
732774
) -> None:
733-
"""Database logic for sync bulk item insertion."""
775+
"""Perform a bulk insert of items into the database synchronously.
776+
777+
Args:
778+
self: The instance of the object calling this function.
779+
collection_id (str): The ID of the collection to which the items belong.
780+
processed_items (List[Item]): A list of `Item` objects to be inserted into the database.
781+
refresh (bool): Whether to refresh the index after the bulk insert (default: False).
782+
783+
Notes:
784+
This function performs a bulk insert of `processed_items` into the database using the specified `collection_id`. The
785+
insert is performed synchronously and blocking, meaning that the function does not return until the insert has
786+
completed. The `mk_actions` function is called to generate a list of actions for the bulk insert. If `refresh` is set to
787+
True, the index is refreshed after the bulk insert. The function does not return any value.
788+
"""
734789
helpers.bulk(
735790
self.sync_client,
736791
mk_actions(collection_id, processed_items),

0 commit comments

Comments
 (0)