20
20
import typing
21
21
import uuid
22
22
23
- from .. import constants , exceptions
23
+ from .. import exceptions
24
+ from ..constants import PLANET_BASE_URL
24
25
from ..http import Session
25
26
from ..models import Order , Orders , Request , Response , StreamingBody
26
27
27
28
28
- BASE_URL = constants . PLANET_BASE_URL + ' compute/ops/ '
29
- STATS_PATH = 'stats/orders/v2/ '
30
- ORDERS_PATH = 'orders/v2/ '
31
- BULK_PATH = 'bulk/orders/v2/ '
29
+ BASE_URL = f' { PLANET_BASE_URL } compute/ops'
30
+ STATS_PATH = '/ stats/orders/v2'
31
+ ORDERS_PATH = '/ orders/v2'
32
+ BULK_PATH = '/ bulk/orders/v2'
32
33
33
34
# Order states https://developers.planet.com/docs/orders/ordering/#order-states
34
35
ORDERS_STATES_COMPLETE = ['success' , 'partial' , 'cancelled' , 'failed' ]
@@ -52,16 +53,13 @@ class OrdersClient():
52
53
>>> from planet import Session, OrdersClient
53
54
>>>
54
55
>>> async def main():
55
- ... auth = ('example_api_key', '')
56
- ... async with Session(auth=auth) as sess:
56
+ ... async with Session() as sess:
57
57
... cl = OrdersClient(sess)
58
58
... # use client here
59
59
...
60
60
>>> asyncio.run(main())
61
61
62
62
```
63
-
64
-
65
63
"""
66
64
def __init__ (
67
65
self ,
@@ -77,8 +75,8 @@ def __init__(
77
75
self ._session = session
78
76
79
77
self ._base_url = base_url or BASE_URL
80
- if not self ._base_url .endswith ('/' ):
81
- self ._base_url += '/'
78
+ if self ._base_url .endswith ('/' ):
79
+ self ._base_url = self . _base_url [: - 1 ]
82
80
83
81
@staticmethod
84
82
def _check_order_id (oid ):
@@ -92,17 +90,10 @@ def _check_order_id(oid):
92
90
raise OrdersClientException (msg )
93
91
94
92
def _orders_url (self ):
95
- return self ._base_url + ORDERS_PATH
93
+ return f' { self ._base_url } { ORDERS_PATH } '
96
94
97
95
def _stats_url (self ):
98
- return self ._base_url + STATS_PATH
99
-
100
- def _order_url (self , order_id ):
101
- self ._check_order_id (order_id )
102
- return self ._orders_url () + order_id
103
-
104
- def _bulk_url (self ):
105
- return self ._base_url + BULK_PATH
96
+ return f'{ self ._base_url } { STATS_PATH } '
106
97
107
98
def _request (self , url , method , data = None , params = None , json = None ):
108
99
return Request (url , method = method , data = data , params = params , json = json )
@@ -190,7 +181,8 @@ async def get_order(
190
181
OrdersClientException: If order_id is not valid UUID.
191
182
planet.exceptions.APIException: On API error.
192
183
'''
193
- url = self ._order_url (order_id )
184
+ self ._check_order_id (order_id )
185
+ url = f'{ self ._orders_url ()} /{ order_id } '
194
186
195
187
req = self ._request (url , method = 'GET' )
196
188
@@ -224,7 +216,9 @@ async def cancel_order(
224
216
OrdersClientException: If order_id is not valid UUID.
225
217
planet.exceptions.APIException: On API error.
226
218
'''
227
- url = self ._order_url (order_id )
219
+ self ._check_order_id (order_id )
220
+ url = f'{ self ._orders_url ()} /{ order_id } '
221
+
228
222
req = self ._request (url , method = 'PUT' )
229
223
230
224
try :
@@ -252,7 +246,7 @@ async def cancel_orders(
252
246
Raises:
253
247
planet.exceptions.APIException: On API error.
254
248
'''
255
- url = self ._bulk_url () + ' cancel'
249
+ url = f' { self ._base_url } { BULK_PATH } / cancel'
256
250
cancel_body = {}
257
251
if order_ids :
258
252
for oid in order_ids :
0 commit comments