Switch query to builder pattern
Closed this issue · 1 comments
sampottinger commented
Part of pyOpenSci/software-submission#93, thanks @ocefpaf. Example syntax desired:
query = afscgap.query()
query.filterCommonName(eq='Pacific cod')
query.filterYear(min=2021)
results = query.execute()
or
results = afscgap.query() \
.filterCommonName(eq='Pacific cod') \
.filterYear(min=2021) \
.execute()
This achieves parity with other scientific python packages in terms of patterns.
ocefpaf commented
I really like the new syntax:
query = afscgap.Query(requestor=self._mock_requestor)
query.filter_year(eq=2021)
query.filter_latitude(eq={'$gte': 56.99, '$lte': 57.04})
query.filter_longitude(eq={'$gte': -143.96, '$lte': -144.01})
query.set_filter_incomplete(True)
results = list(query.execute())