Skip to content

Commit 6b250fb

Browse files
authored
Merge pull request #177 from planetlabs/eric.dunham/add-more-udm2-asset-types
Add new UDM2 and related asset types
2 parents 482ee9d + 192ba06 commit 6b250fb

File tree

3 files changed

+59
-28
lines changed

3 files changed

+59
-28
lines changed

planet/api/utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ def run():
329329
t.start()
330330
# poll (or we miss the interrupt) and await completion
331331
try:
332-
while t.isAlive():
332+
while t.is_alive():
333333
t.join(.1)
334334
except KeyboardInterrupt:
335335
cancel()

planet/scripts/item_asset_types.py

+50-24
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,62 @@
1111
# Default values here are used as a fallback
1212
# In case the API fails to respond or takes too long.
1313
DEFAULT_ITEM_TYPES = [
14-
"PSScene4Band", "PSScene3Band", "REScene", "REOrthoTile",
15-
"Sentinel2L1C", "PSOrthoTile", "Landsat8L1G", "Sentinel1",
16-
"MOD09GA", "MOD09GQ", "MYD09GA", "MYD09GQ",
17-
"SkySatScene", "SkySatCollect"]
14+
'Landsat8L1G',
15+
'MOD09GA',
16+
'MOD09GQ',
17+
'MYD09GA',
18+
'MYD09GQ',
19+
'PSOrthoTile',
20+
'PSScene3Band',
21+
'PSScene4Band',
22+
'REOrthoTile',
23+
'REScene',
24+
'Sentinel1',
25+
'Sentinel2L1C',
26+
'SkySatCollect',
27+
'SkySatScene'
28+
]
1829

1930
DEFAULT_ASSET_TYPES = [
20-
"analytic", "analytic_b1", "analytic_b10", "analytic_b11", "analytic_b12",
21-
"analytic_b2", "analytic_b3", "analytic_b4", "analytic_b5", "analytic_b6",
22-
"analytic_b7", "analytic_b8", "analytic_b8a", "analytic_b9",
23-
"analytic_bqa", "analytic_dn", "analytic_dn_xml", "analytic_ms",
24-
"analytic_xml", "analytic_sr", "basic_analytic", "basic_analytic_b1",
25-
"basic_analytic_b1_nitf", "basic_analytic_b2", "basic_analytic_b2_nitf",
26-
"basic_analytic_b3", "basic_analytic_b3_nitf", "basic_analytic_b4",
27-
"basic_analytic_b4_nitf", "basic_analytic_b5", "basic_analytic_b5_nitf",
28-
"basic_analytic_dn", "basic_analytic_dn_nitf", "basic_analytic_dn_rpc",
29-
"basic_analytic_dn_rpc_nitf", "basic_analytic_dn_xml",
30-
"basic_analytic_dn_xml_nitf", "basic_analytic_nitf", "basic_analytic_rpc",
31-
"basic_analytic_rpc_nitf", "basic_analytic_sci", "basic_analytic_xml",
32-
"basic_analytic_xml_nitf", "basic_panchromatic_dn",
33-
"basic_panchromatic_dn_rpc", "basic_udm", "browse", "metadata_aux",
34-
"metadata_txt", "ortho_analytic_dn", "ortho_analytic_udm",
35-
"ortho_panchromatic_dn", "ortho_panchromatic_udm", "ortho_pansharpened",
36-
"ortho_pansharpened_udm", "ortho_visual", "udm", "visual", "visual_xml"]
31+
'analytic', 'analytic_b1', 'analytic_b10', 'analytic_b11', 'analytic_b12',
32+
'analytic_b2', 'analytic_b3', 'analytic_b4', 'analytic_b5', 'analytic_b6',
33+
'analytic_b7', 'analytic_b8', 'analytic_b8a', 'analytic_b9',
34+
'analytic_bqa', 'analytic_dn', 'analytic_dn_xml', 'analytic_gflags',
35+
'analytic_granule_pnt', 'analytic_iobs_res', 'analytic_ms',
36+
'analytic_num_observations', 'analytic_num_observations_1km',
37+
'analytic_num_observations_500m', 'analytic_obscov',
38+
'analytic_obscov_500m', 'analytic_orbit_pnt', 'analytic_q_scan',
39+
'analytic_qc_250m', 'analytic_qc_500m', 'analytic_range',
40+
'analytic_sensor_azimuth', 'analytic_sensor_zenith',
41+
'analytic_solar_azimuth', 'analytic_solar_zenith', 'analytic_sr',
42+
'analytic_state_1km', 'analytic_sur_refl_b01', 'analytic_sur_refl_b02',
43+
'analytic_sur_refl_b03', 'analytic_sur_refl_b04', 'analytic_sur_refl_b05',
44+
'analytic_sur_refl_b06', 'analytic_sur_refl_b07', 'analytic_xml',
45+
'basic_analytic', 'basic_analytic_b1', 'basic_analytic_b1_nitf',
46+
'basic_analytic_b2', 'basic_analytic_b2_nitf', 'basic_analytic_b3',
47+
'basic_analytic_b3_nitf', 'basic_analytic_b4', 'basic_analytic_b4_nitf',
48+
'basic_analytic_b5', 'basic_analytic_b5_nitf', 'basic_analytic_dn',
49+
'basic_analytic_dn_nitf', 'basic_analytic_dn_rpc',
50+
'basic_analytic_dn_rpc_nitf', 'basic_analytic_dn_xml',
51+
'basic_analytic_dn_xml_nitf', 'basic_analytic_nitf', 'basic_analytic_rpc',
52+
'basic_analytic_rpc_nitf', 'basic_analytic_sci', 'basic_analytic_udm2',
53+
'basic_analytic_xml', 'basic_analytic_xml_nitf', 'basic_panchromatic',
54+
'basic_panchromatic_dn', 'basic_panchromatic_dn_rpc',
55+
'basic_panchromatic_rpc', 'basic_panchromatic_udm2', 'basic_udm',
56+
'basic_udm2', 'browse', 'metadata_aux', 'metadata_txt', 'ortho_analytic',
57+
'ortho_analytic_dn', 'ortho_analytic_hh', 'ortho_analytic_hv',
58+
'ortho_analytic_udm', 'ortho_analytic_udm2', 'ortho_analytic_vh',
59+
'ortho_analytic_vv', 'ortho_panchromatic', 'ortho_panchromatic_dn',
60+
'ortho_panchromatic_udm', 'ortho_panchromatic_udm2', 'ortho_pansharpened',
61+
'ortho_pansharpened_udm', 'ortho_pansharpened_udm2', 'ortho_visual', 'udm',
62+
'udm2', 'visual', 'visual_xml'
63+
]
3764

3865

39-
def _get_json_or_raise(url, timeout=0.7):
66+
def _get_json_or_raise(url, timeout=11):
4067
api_key = find_api_key()
4168
headers = {'User-Agent': _get_user_agent(),
42-
'Authorization': 'api-key %s' % api_key
43-
}
69+
'Authorization': 'api-key %s' % api_key}
4470
resp = requests.get(url, timeout=timeout, headers=headers)
4571
resp.raise_for_status()
4672
return resp.json()

tests/test_types.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
# limitations under the License
1414

1515
import json
16-
from planet.scripts.types import get_item_types
16+
import mock
17+
from planet.scripts.item_asset_types import DEFAULT_ASSET_TYPES
18+
from planet.scripts.item_asset_types import DEFAULT_ITEM_TYPES
1719
from planet.scripts.types import AssetType
1820
from planet.scripts.types import GeomFilter
1921
from planet.scripts.types import ItemType
@@ -27,10 +29,12 @@ def asserter(val, expected):
2729
return asserter
2830

2931

32+
@mock.patch('planet.scripts.types.get_item_types',
33+
new=mock.Mock(return_value=DEFAULT_ITEM_TYPES))
3034
def test_item_type():
3135
check = convert_asserter(ItemType())
3236

33-
check('all', get_item_types())
37+
check('all', DEFAULT_ITEM_TYPES)
3438
check('psscene', ['PSScene3Band', 'PSScene4Band'])
3539
check('Sentinel2L1C', ['Sentinel2L1C'])
3640
check('psscene,sent', ['PSScene3Band', 'PSScene4Band',
@@ -40,7 +44,8 @@ def test_item_type():
4044
ItemType().convert('x', None, None)
4145
assert 'invalid choice: x' in str(e.value)
4246

43-
47+
@mock.patch('planet.scripts.types.get_asset_types',
48+
new=mock.Mock(return_value=DEFAULT_ASSET_TYPES))
4449
def test_asset_type():
4550
check = convert_asserter(AssetType())
4651
check('visual*', ['visual', 'visual_xml'])

0 commit comments

Comments
 (0)