Skip to content

Commit 71562d3

Browse files
author
whipps
committed
Make source_type/state single args to avoid breaking client changes
1 parent 5d8d513 commit 71562d3

File tree

5 files changed

+21
-26
lines changed

5 files changed

+21
-26
lines changed

docs/cli/cli-orders.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ length of the array.
7676
#### Filtering
7777

7878
The `list` command supports filtering on a variety of fields:
79-
* `--state`: Filter by one or more states. Options include `queued`, `failed`, `success`, `partial` and `cancelled`.
80-
* `--source-type`: Filter by one or more source types. Options include `scenes`, `basemaps`, or `all`. The default is `all`.
79+
* `--state`: Filter by order state. Options include `queued`, `failed`, `success`, `partial` and `cancelled`.
80+
* `--source-type`: Filter by source type. Options include `scenes`, `basemaps`, or `all`. The default is `all`.
8181
* `--name`: Filter by name.
8282
* `--name-contains`: Only return orders with a name that contains the provided string.
8383
* `--created-on`: Filter on the order creation time or an interval of creation times.

planet/cli/orders.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,14 @@ def orders(ctx, base_url):
5454
@translate_exceptions
5555
@coro
5656
@click.option('--state',
57-
help='Filter by one or more states.',
58-
multiple=True,
57+
help='Filter by state.',
5958
type=click.Choice(planet.clients.orders.ORDER_STATE_SEQUENCE,
6059
case_sensitive=False))
6160
@click.option(
6261
'--source-type',
63-
default=["all"],
64-
multiple=True,
65-
help="""Filter by one or more source types. See documentation for all
66-
available types. Default is all.""")
62+
default="all",
63+
help="""Filter by source type. See documentation for all available types.
64+
Default is all.""")
6765
@click.option('--name', help="filter by name")
6866
@click.option(
6967
'--name-contains',

planet/cli/subscriptions.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,8 @@ def subscriptions(ctx, base_url):
8484
@click.option('--name', help="filter by name")
8585
@click.option(
8686
'--source-type',
87-
multiple=True,
88-
help="""Filter subscriptions by one or more source types. See documentation
89-
for all available types. Default is all.""")
87+
help="""Filter subscriptions by source type. See documentation for all
88+
available types. Default is all.""")
9089
@click.option(
9190
'--start-time',
9291
help="""Filter subscriptions by start time or interval. See documentation

planet/clients/orders.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -463,8 +463,8 @@ async def wait(self,
463463
return current_state
464464

465465
async def list_orders(self,
466-
state: Optional[Sequence[str]] = None,
467-
source_type: Optional[Sequence[str]] = None,
466+
state: Optional[str] = None,
467+
source_type: Optional[str] = None,
468468
name: Optional[str] = None,
469469
name__contains: Optional[str] = None,
470470
created_on: Optional[str] = None,
@@ -483,8 +483,8 @@ async def list_orders(self,
483483
single result description or return a list of descriptions.
484484
485485
Parameters:
486-
state (Set[str]): include orders with a state in this set.
487-
source_type (Set[str]): include orders with a source type in this set.
486+
state (str): filter by state.
487+
source_type (str): filter by source type.
488488
name (str): filter by name.
489489
name__contains (str): only include orders with names containing this string.
490490
created_on (str): filter by creation date-time or interval.
@@ -525,7 +525,7 @@ async def list_orders(self,
525525
url = self._orders_url()
526526
params: Dict[str, Union[str, Sequence[str], bool]] = {}
527527
if source_type is not None:
528-
params["source_type"] = [val for val in source_type]
528+
params["source_type"] = source_type
529529
else:
530530
params["source_type"] = "all"
531531
if name is not None:
@@ -541,12 +541,11 @@ async def list_orders(self,
541541
if sort_by is not None:
542542
params["sort_by"] = sort_by
543543
if state:
544-
for s in state:
545-
if s not in ORDER_STATE_SEQUENCE:
546-
raise exceptions.ClientError(
547-
f'Order state ({s}) is not a valid state. '
548-
f'Valid states are {ORDER_STATE_SEQUENCE}')
549-
params['state'] = [val for val in state]
544+
if state not in ORDER_STATE_SEQUENCE:
545+
raise exceptions.ClientError(
546+
f'Order state ({state}) is not a valid state. '
547+
f'Valid states are {ORDER_STATE_SEQUENCE}')
548+
params['state'] = state
550549

551550
response = await self._session.request(method='GET',
552551
url=url,

planet/clients/subscriptions.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ async def list_subscriptions(self,
6565
hosting: Optional[bool] = None,
6666
name__contains: Optional[str] = None,
6767
name: Optional[str] = None,
68-
source_type: Optional[Sequence[str]] = None,
68+
source_type: Optional[str] = None,
6969
start_time: Optional[str] = None,
7070
status: Optional[Sequence[str]] = None,
7171
sort_by: Optional[str] = None,
@@ -86,8 +86,7 @@ async def list_subscriptions(self,
8686
name__contains (str): only return subscriptions with a
8787
name that contains the given string.
8888
name (str): filter by name.
89-
source_type (Set[str]): include subscriptions with a source type in
90-
this set.
89+
source_type (str): filter by source type.
9190
start_time (str): filter by start time or interval.
9291
status (Set[str]): include subscriptions with a status in this set.
9392
sort_by (str): fields to sort subscriptions by. Multiple
@@ -141,7 +140,7 @@ class _SubscriptionsPager(Paged):
141140
if name is not None:
142141
params['name'] = name
143142
if source_type is not None:
144-
params['source_type'] = [val for val in source_type]
143+
params['source_type'] = source_type
145144
if start_time is not None:
146145
params['start_time'] = start_time
147146
if status is not None:

0 commit comments

Comments
 (0)