Skip to content

Commit c6162ff

Browse files
committed
start adding indexing methods
1 parent e68a895 commit c6162ff

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

earthaccess/search.py

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,7 @@ def __init__(self, auth: Optional[Auth] = None, *args: Any, **kwargs: Any) -> No
418418
if auth:
419419
self.mode(auth.system.cmr_base_url)
420420

421+
self._granules = []
421422
self._debug = False
422423

423424
@override
@@ -938,8 +939,36 @@ def doi(self, doi: str) -> Self:
938939

939940
def load(self):
940941
# TODO - Handle paging (get all)
941-
self._granules = self.get()
942+
self.graunles = self.get()
942943

943944
@property
944-
def granules(self):
945+
def granules(self) -> list:
946+
"""TODO"""
945947
return self._granules
948+
949+
@granules.setter
950+
def granules(self, value: list):
951+
self._granules = value
952+
953+
@granules.deleter
954+
def granules(self):
955+
del self._granules
956+
957+
def __iter__(self):
958+
return iter(self.granules)
959+
960+
def __len__(self):
961+
return len(self.granules)
962+
963+
# FIXME: Is a granule in this results object? what do we use to tell?
964+
# def __contains__(self, job: Job):
965+
# return job in self.jobs
966+
967+
def __eq__(self, other: 'DataGranules'):
968+
# FIXME: compare query parameters too? what does it mean to be equal?
969+
return self.graunles == other.granules
970+
971+
# TODO: display methods
972+
def __repr__(self):
973+
reprs = ", ".join([granule.__repr__() for granule in self.granules])
974+
return f'DataGranules([{reprs}])'

0 commit comments

Comments
 (0)