Skip to content

Commit 5dc42d4

Browse files
authored
Merge pull request #245 from planetlabs/ericrdunham/psscene
Add 'PSScene' item type
2 parents a498af7 + 5f99393 commit 5dc42d4

File tree

5 files changed

+44
-31
lines changed

5 files changed

+44
-31
lines changed

docs/source/cli/examples.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ Get recently acquired PSScene3Band ItemType records::
1414

1515
planet data search --item-type PSScene3Band --date acquired gt 2017-02-14
1616

17-
Item types can be specified case-insensitively, with prefix matching in the CLI::
17+
Item types can be specified case-insensitively, with glob matching in the CLI::
1818

19-
planet data search --item-type psscene --date acquired gt 2017-02-14
19+
planet data search --item-type psscene* --date acquired gt 2017-02-14
2020

2121
Search for a month. Note: criteria are applied as an AND filter::
2222

docs/source/cli/reference.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ ITEM-TYPE
3030

3131

3232
Specify Item-Type(s) of interest. Case-insensitive,
33-
supports glob-matching, e.g. ``psscene*`` means ``PSScene3Band`` and
34-
``PSScene4Band``. The ``all`` value specifies every Item-Type.
33+
supports glob-matching, e.g. ``psscene*`` means ``PSScene``, ``PSScene3Band``, and
34+
``PSScene4Band``. The ``all`` value specifies every Item-Type.
3535

3636

3737
.. _cli-metavar-FILTER:
@@ -231,7 +231,7 @@ Usage: create-search [OPTIONS]
231231
- BOOLEAN
232232

233233
* - name
234-
-
234+
-
235235

236236
- TEXT
237237

planet/scripts/item_asset_types.py

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'MYD09GA',
1919
'MYD09GQ',
2020
'PSOrthoTile',
21+
'PSScene',
2122
'PSScene3Band',
2223
'PSScene4Band',
2324
'REOrthoTile',
@@ -30,11 +31,11 @@
3031
]
3132

3233
DEFAULT_ASSET_TYPES = [
33-
'analytic', 'analytic_5b', 'analytic_5b_xml', 'analytic_b1',
34-
'analytic_b10', 'analytic_b11', 'analytic_b12', 'analytic_b2',
35-
'analytic_b3', 'analytic_b4', 'analytic_b5', 'analytic_b6', 'analytic_b7',
36-
'analytic_b8', 'analytic_b8a', 'analytic_b9', 'analytic_bqa',
37-
'analytic_dn', 'analytic_dn_xml', 'analytic_gflags',
34+
'analytic', 'analytic_5b', 'analytic_5b_xml', 'analytic_8b',
35+
'analytic_8b_xml', 'analytic_b1', 'analytic_b10', 'analytic_b11',
36+
'analytic_b12', 'analytic_b2', 'analytic_b3', 'analytic_b4', 'analytic_b5',
37+
'analytic_b6', 'analytic_b7', 'analytic_b8', 'analytic_b8a', 'analytic_b9',
38+
'analytic_bqa', 'analytic_dn', 'analytic_dn_xml', 'analytic_gflags',
3839
'analytic_granule_pnt', 'analytic_iobs_res', 'analytic_ms',
3940
'analytic_num_observations', 'analytic_num_observations_1km',
4041
'analytic_num_observations_500m', 'analytic_obscov',
@@ -45,29 +46,39 @@
4546
'analytic_state_1km', 'analytic_sur_refl_b01', 'analytic_sur_refl_b02',
4647
'analytic_sur_refl_b03', 'analytic_sur_refl_b04', 'analytic_sur_refl_b05',
4748
'analytic_sur_refl_b06', 'analytic_sur_refl_b07', 'analytic_xml',
48-
'basic_analytic', 'basic_analytic_b1', 'basic_analytic_b1_nitf',
49-
'basic_analytic_b2', 'basic_analytic_b2_nitf', 'basic_analytic_b3',
50-
'basic_analytic_b3_nitf', 'basic_analytic_b4', 'basic_analytic_b4_nitf',
51-
'basic_analytic_b5', 'basic_analytic_b5_nitf', 'basic_analytic_dn',
52-
'basic_analytic_dn_nitf', 'basic_analytic_dn_rpc',
53-
'basic_analytic_dn_rpc_nitf', 'basic_analytic_dn_xml',
54-
'basic_analytic_dn_xml_nitf', 'basic_analytic_nitf', 'basic_analytic_rpc',
55-
'basic_analytic_rpc_nitf', 'basic_analytic_sci', 'basic_anlytic_udm',
56-
'basic_analytic_udm2', 'basic_analytic_xml', 'basic_analytic_xml_nitf',
57-
'basic_l1a_all_frames', 'basic_l1a_panchromatic_dn',
58-
'basic_l1a_panchromatic_dn_rpc', 'basic_panchromatic',
59-
'basic_panchromatic_dn', 'basic_panchromatic_dn_rpc',
49+
'basic_analytic', 'basic_analytic_8b', 'basic_analytic_8b_xml',
50+
'basic_analytic_b1', 'basic_analytic_b1_nitf', 'basic_analytic_b2',
51+
'basic_analytic_b2_nitf', 'basic_analytic_b3', 'basic_analytic_b3_nitf',
52+
'basic_analytic_b4', 'basic_analytic_b4_nitf', 'basic_analytic_b5',
53+
'basic_analytic_b5_nitf', 'basic_analytic_dn', 'basic_analytic_dn_nitf',
54+
'basic_analytic_dn_rpc', 'basic_analytic_dn_rpc_nitf',
55+
'basic_analytic_dn_xml', 'basic_analytic_dn_xml_nitf',
56+
'basic_analytic_nitf', 'basic_analytic_rpc', 'basic_analytic_rpc_nitf',
57+
'basic_analytic_sci', 'basic_analytic_udm2', 'basic_analytic_xml',
58+
'basic_analytic_xml_nitf', 'basic_anlytic_udm', 'basic_l1a_all_frames',
59+
'basic_l1a_panchromatic_dn', 'basic_l1a_panchromatic_dn_rpc',
60+
'basic_panchromatic', 'basic_panchromatic_dn', 'basic_panchromatic_dn_rpc',
6061
'basic_panchromatic_rpc', 'basic_panchromatic_udm2', 'basic_udm',
6162
'basic_udm2', 'browse', 'metadata_aux', 'metadata_txt', 'ortho_analytic',
6263
'ortho_analytic_dn', 'ortho_analytic_hh', 'ortho_analytic_hv',
6364
'ortho_analytic_udm', 'ortho_analytic_udm2', 'ortho_analytic_vh',
6465
'ortho_analytic_vv', 'ortho_panchromatic', 'ortho_panchromatic_dn',
6566
'ortho_panchromatic_udm', 'ortho_panchromatic_udm2', 'ortho_pansharpened',
66-
'ortho_pansharpened_udm', 'ortho_pansharpened_udm2', 'ortho_visual', 'udm',
67-
'udm2', 'video_file', 'video_frames', 'video_metadata', 'visual',
68-
'visual_xml'
67+
'ortho_pansharpened_udm', 'ortho_pansharpened_udm2', 'ortho_visual',
68+
'ps3b_analytic', 'ps3b_analytic_dn', 'ps3b_analytic_dn_xml',
69+
'ps3b_analytic_xml', 'ps3b_basic_analytic', 'ps3b_basic_analytic_dn',
70+
'ps3b_basic_analytic_dn_rpc', 'ps3b_basic_analytic_dn_xml',
71+
'ps3b_basic_analytic_rpc', 'ps3b_basic_analytic_xml', 'ps3b_udm',
72+
'ps3b_visual_xml', 'ps4b_analytic_dn', 'ps4b_analytic_dn_xml',
73+
'ps4b_basic_analytic_dn', 'ps4b_basic_analytic_dn_nitf',
74+
'ps4b_basic_analytic_dn_rpc', 'ps4b_basic_analytic_dn_rpc_nitf',
75+
'ps4b_basic_analytic_dn_xml', 'ps4b_basic_analytic_dn_xml_nitf',
76+
'ps4b_basic_analytic_nitf', 'ps4b_basic_analytic_rpc_nitf',
77+
'ps4b_basic_analytic_xml_nitf', 'ps4b_udm', 'udm', 'udm2', 'video_file',
78+
'video_frames', 'video_metadata', 'visual', 'visual_xml'
6979
]
7080

81+
7182
DEFAULT_BUNDLES = [u'all', u'all_udm2', u'analytic', u'analytic_sr',
7283
u'analytic_sr_udm2', u'analytic_udm2', u'basic_analytic',
7384
u'basic_analytic_nitf', u'basic_analytic_nitf_udm2',

planet/scripts/types.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@
4949
named 'filename'. Otherwise, the value is assumed to be JSON.
5050
''',
5151
'ITEM-TYPE': '''Specify Item-Type(s) of interest. Case-insensitive,
52-
supports glob-matching, e.g. ``psscene*`` means ``PSScene3Band`` and
53-
``PSScene4Band``. The ``all`` value specifies every Item-Type.
52+
supports glob-matching, e.g. ``psscene*`` means ``PSScene``,
53+
``PSScene3Band``, and ``PSScene4Band``. The ``all`` value specifies
54+
every Item-Type.
5455
''',
5556
'ASSET-TYPE': '''Specify Asset-Type(s) of interest. Case-insenstive,
5657
supports glob-matching, e.g. ``visual*`` specifies ``visual`` and
@@ -132,7 +133,7 @@ def get_remote_choices(self):
132133
class ItemType(_LenientChoice):
133134
name = 'item-type'
134135
allow_all = True
135-
allow_prefix = True
136+
allow_prefix = False
136137

137138
def __init__(self):
138139
_LenientChoice.__init__(self, DEFAULT_ITEM_TYPES)

tests/test_types.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@ def test_item_type():
3535
check = convert_asserter(ItemType())
3636

3737
check('all', DEFAULT_ITEM_TYPES)
38-
check('psscene', ['PSScene3Band', 'PSScene4Band'])
38+
check('psscene*', ['PSScene', 'PSScene3Band', 'PSScene4Band'])
3939
check('Sentinel2L1C', ['Sentinel2L1C'])
40-
check('psscene,sent', ['PSScene3Band', 'PSScene4Band',
41-
'Sentinel1', 'Sentinel2L1C'])
40+
check('psscene*,sent*', [
41+
'PSScene', 'PSScene3Band', 'PSScene4Band', 'Sentinel1', 'Sentinel2L1C'
42+
])
4243

4344
with pytest.raises(Exception) as e:
4445
ItemType().convert('x', None, None)

0 commit comments

Comments
 (0)