Skip to content

Commit d2a6387

Browse files
Merge pull request #37 from gadomski/feature/items-as-collection
Add `ItemSearch.items_as_collection`
2 parents f92b65a + bd788a6 commit d2a6387

File tree

5 files changed

+278
-2
lines changed

5 files changed

+278
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
88

99
### Added
1010

11+
- `ItemSearch.items_as_collection` #37
12+
1113
### Fixed
1214

1315
### Changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ STAC API Client
33

44
[![CI](https://github.com/stac-utils/pystac-client/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/stac-utils/pystac-client/actions/workflows/continuous-integration.yml)
55
[![Release](https://github.com/stac-utils/pystac-client/actions/workflows/release.yml/badge.svg)](https://github.com/stac-utils/pystac-client/actions/workflows/release.yml)
6-
[![PyPI version](https://badge.fury.io/py/pystac_client.svg)](https://badge.fury.io/py/pystac_client)
6+
[![PyPI version](https://badge.fury.io/py/pystac-client.svg)](https://badge.fury.io/py/pystac-client)
77
[![Documentation](https://readthedocs.org/projects/pystac_client/badge/?version=latest)](https://pystac_client.readthedocs.io/en/latest/)
88
[![codecov](https://codecov.io/gh/stac-utils/pystac-client/branch/main/graph/badge.svg)](https://codecov.io/gh/stac-utils/pystac-client)
99

@@ -101,7 +101,7 @@ for item in mysearch.items():
101101
Save all found items as a single FeatureCollection
102102

103103
```
104-
items = list(mysearch.items())
104+
items = mysearch.items_as_collection()
105105
items.save('items.json')
106106
```
107107

pystac_client/item_search.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,3 +397,12 @@ def _paginate():
397397
yield from it.islice(_paginate(), self._max_items)
398398
else:
399399
raise
400+
401+
def items_as_collection(self) -> ItemCollection:
402+
"""Convenience method that builds an :class:`ItemCollection` from all items matching the given search parameters.
403+
404+
Returns
405+
------
406+
item_collection : ItemCollection
407+
"""
408+
return ItemCollection(self.items())
Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
interactions:
2+
- request:
3+
body: '{"limit": 10, "bbox": [-73.21, 43.99, -73.12, 44.05], "collections": ["naip"]}'
4+
headers:
5+
Accept:
6+
- '*/*'
7+
Accept-Encoding:
8+
- gzip, deflate
9+
Connection:
10+
- keep-alive
11+
Content-Length:
12+
- '78'
13+
Content-Type:
14+
- application/json
15+
User-Agent:
16+
- python-requests/2.25.1
17+
method: POST
18+
uri: https://eod-catalog-svc-prod.astraea.earth/search
19+
response:
20+
body:
21+
string: !!binary |
22+
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
97+
AAAA//8DAFpcO/1dPAEA
98+
headers:
99+
Access-Control-Allow-Credentials:
100+
- 'true'
101+
Access-Control-Allow-Headers:
102+
- X-Astraea-Catalog-Client
103+
- Authorization, Content-Type, X-Requested-With
104+
Access-Control-Allow-Origin:
105+
- '*'
106+
Cache-Control:
107+
- no-cache, no-store, must-revalidate
108+
Connection:
109+
- keep-alive
110+
Content-Encoding:
111+
- gzip
112+
Content-Type:
113+
- application/geo+json
114+
Date:
115+
- Wed, 14 Apr 2021 19:21:00 GMT
116+
Server:
117+
- akka-http/10.2.3
118+
Transfer-Encoding:
119+
- chunked
120+
status:
121+
code: 200
122+
message: OK
123+
- request:
124+
body: '{"limit": 10, "bbox": [-73.21, 43.99, -73.12, 44.05], "collections": ["naip"],
125+
"next": "1606767839786,m_4307307_ne_18_h_20160805,naip"}'
126+
headers:
127+
Accept:
128+
- '*/*'
129+
Accept-Encoding:
130+
- gzip, deflate
131+
Connection:
132+
- keep-alive
133+
Content-Length:
134+
- '135'
135+
Content-Type:
136+
- application/json
137+
User-Agent:
138+
- python-requests/2.25.1
139+
method: POST
140+
uri: https://eod-catalog-svc-prod.astraea.earth/search
141+
response:
142+
body:
143+
string: !!binary |
144+
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
227+
Xw2Hjb22Z4fVVqv//H8AAAD//wMAC0I0yrI7AQA=
228+
headers:
229+
Access-Control-Allow-Credentials:
230+
- 'true'
231+
Access-Control-Allow-Headers:
232+
- X-Astraea-Catalog-Client
233+
- Authorization, Content-Type, X-Requested-With
234+
Access-Control-Allow-Origin:
235+
- '*'
236+
Cache-Control:
237+
- no-cache, no-store, must-revalidate
238+
Connection:
239+
- keep-alive
240+
Content-Encoding:
241+
- gzip
242+
Content-Type:
243+
- application/geo+json
244+
Date:
245+
- Wed, 14 Apr 2021 19:21:00 GMT
246+
Server:
247+
- akka-http/10.2.3
248+
Transfer-Encoding:
249+
- chunked
250+
status:
251+
code: 200
252+
message: OK
253+
version: 1

tests/test_item_search.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,3 +306,15 @@ def test_result_paging(self):
306306

307307
assert pages[1] != pages[2]
308308
assert pages[1].features != pages[2].features
309+
310+
@pytest.mark.vcr
311+
def test_items_as_collection(self):
312+
search = ItemSearch(
313+
url=SEARCH_URL,
314+
bbox=(-73.21, 43.99, -73.12, 44.05),
315+
collections='naip',
316+
limit=10,
317+
max_items=20,
318+
)
319+
item_collection = search.items_as_collection()
320+
assert len(item_collection.features) == 20

0 commit comments

Comments
 (0)