geobox 2.2.4__py3-none-any.whl → 2.2.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
geobox/aio/query.py CHANGED
@@ -483,7 +483,7 @@ class AsyncQuery(AsyncBase):
483
483
  "sql": kwargs.get('sql'),
484
484
  "params": kwargs.get('params')
485
485
  }
486
- await super()._update(self.endpoint, data)
486
+ return await super()._update(self.endpoint, data)
487
487
 
488
488
 
489
489
  async def save(self) -> None:
geobox/api.py CHANGED
@@ -109,7 +109,7 @@ class _RequestSession(requests.Session):
109
109
 
110
110
  return original_content_type
111
111
 
112
- def request(self, method: str, url: str, **kwargs) -> requests.Response:
112
+ def request(self, method: str, url: str, verify: bool = True, **kwargs) -> requests.Response:
113
113
  """
114
114
  Override request method with header management.
115
115
 
@@ -136,7 +136,7 @@ class _RequestSession(requests.Session):
136
136
  kwargs['headers'] = request_headers
137
137
 
138
138
  try:
139
- response = super().request(method, url, **kwargs)
139
+ response = super().request(method, url, verify=verify, **kwargs)
140
140
  finally:
141
141
  if original_content_type:
142
142
  self.headers['Content-Type'] = original_content_type
@@ -150,12 +150,14 @@ class GeoboxClient:
150
150
  """
151
151
 
152
152
  def __init__(self,
153
- host: str = 'https://api.geobox.ir',
154
- ver: str = 'v1/',
155
- username: str = None,
156
- password: str = None,
157
- access_token: str = None,
158
- apikey: str = None):
153
+ host: str = 'https://api.geobox.ir',
154
+ ver: str = 'v1/',
155
+ username: str = None,
156
+ password: str = None,
157
+ access_token: str = None,
158
+ apikey: str = None,
159
+ verify: bool = True,
160
+ ):
159
161
  """
160
162
  Constructs all the necessary attributes for the Api object.
161
163
 
@@ -175,6 +177,7 @@ class GeoboxClient:
175
177
  password (str, optional): Password for authentication
176
178
  access_token (str, optional): Bearer token for authentication
177
179
  apikey (str, optional): API key for authentication
180
+ verify (bool, optional): it controls whether to verify the server's TLS certificate. Defaults to True. When set to False, requests will accept any TLS certificate presented by the server, and will ignore hostname mismatches and/or expired certificates, which will make your application vulnerable to man-in-the-middle (MitM) attacks. Setting verify to False may be useful during local development or testing
178
181
 
179
182
  Example:
180
183
  >>> from geobox import GeoboxClient
@@ -188,7 +191,7 @@ class GeoboxClient:
188
191
  self.password = os.getenv('GEOBOX_PASSWORD') if os.getenv('GEOBOX_PASSWORD') else password
189
192
  self.access_token = os.getenv('GEOBOX_ACCESS_TOKEN') if os.getenv('GEOBOX_ACCESS_TOKEN') else access_token
190
193
  self.apikey = os.getenv('GEOBOX_APIKEY') if os.getenv('GEOBOX_APIKEY') else apikey
191
-
194
+ self.verify = verify
192
195
  self.session = _RequestSession(access_token=self.access_token)
193
196
 
194
197
  host = host.lower()
@@ -232,7 +235,7 @@ class GeoboxClient:
232
235
  url = urljoin(self.base_url, "auth/token/")
233
236
  data = {"username": self.username, "password": self.password}
234
237
  try:
235
- response = requests.post(url, data=data)
238
+ response = requests.post(url, data=data, verify=self.verify)
236
239
  response_data = response.json()
237
240
  if response.status_code == 200:
238
241
  return response_data["access_token"]
@@ -328,11 +331,11 @@ class GeoboxClient:
328
331
 
329
332
  try:
330
333
  if files:
331
- response = self.session.request(method, url, data=payload, files=files)
334
+ response = self.session.request(method, url, verify=self.verify, data=payload, files=files)
332
335
  elif is_json:
333
- response = self.session.request(method, url, json=payload)
336
+ response = self.session.request(method, url, verify=self.verify, json=payload)
334
337
  else:
335
- response = self.session.request(method, url, data=payload)
338
+ response = self.session.request(method, url, verify=self.verify, data=payload)
336
339
 
337
340
  except requests.exceptions.Timeout as e:
338
341
  raise ApiRequestError(f"Request timed out: {e}")
geobox/enums.py CHANGED
@@ -3,16 +3,16 @@ from enum import Enum
3
3
  # File Enums
4
4
  class InputGeomType(Enum):
5
5
  POINT = 'POINT'
6
- LINE = 'LINE'
6
+ LINESTRING = 'LINESTRING'
7
7
  POLYGON = 'POLYGON'
8
8
  MULTIPOINT = 'MULTIPOINT'
9
- MULTILINE = 'MULTILINE'
9
+ MULTILINESTRING = 'MULTILINESTRING'
10
10
  MULTIPOLYGON = 'MULTIPOLYGON'
11
11
  POINT_Z = 'POINTZ'
12
- LINE_Z = 'LINEZ'
12
+ LINESTRING_Z = 'LINESTRINGZ'
13
13
  POLYGON_Z = 'POLYGONZ'
14
14
  MULTIPOINT_Z = 'MULTIPOINTZ'
15
- MULTILINE_Z = 'MULTILINEZ'
15
+ MULTILINESTRING_Z = 'MULTILINESTRINGZ'
16
16
  MULTIPOLYGON_Z = 'MULTIPOLYGONZ'
17
17
 
18
18
  class PublishFileType(Enum):
geobox/query.py CHANGED
@@ -482,7 +482,7 @@ class Query(Base):
482
482
  "sql": kwargs.get('sql'),
483
483
  "params": kwargs.get('params')
484
484
  }
485
- super()._update(self.endpoint, data)
485
+ return super()._update(self.endpoint, data)
486
486
 
487
487
 
488
488
  def save(self) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geobox
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: SDK for Geobox's APIs
5
5
  Author-email: Hamid Heydari <heydari.h62@gmail.com>
6
6
  License: MIT
@@ -1,11 +1,11 @@
1
1
  geobox/__init__.py,sha256=zGYCpxmYA06-PNNSRqRUNhiuoaM5a8x68qqQbJ-z9hs,1922
2
- geobox/api.py,sha256=M956WW-4i0SQm1XGopG3DoL_AdCTMGE2jytG5VSM6zI,105596
2
+ geobox/api.py,sha256=WdRqPmullkVx2VSUtJjxjbXIjAMCfg8WNT7UCN8xji8,106147
3
3
  geobox/apikey.py,sha256=2JiW29BmAvuzXeLuz0wWnG1508ja9DcwE_oRjKleD1M,8792
4
4
  geobox/attachment.py,sha256=HA_UUBr4buuivCDI3rizmHqil8olCea3Lv3daRAfMY4,13274
5
5
  geobox/base.py,sha256=paE3-Wshzp4ykpkbXdIZ6MVPDwyTRgrr-OTYd9BK2o8,13353
6
6
  geobox/basemap.py,sha256=BSDb7mJm-Pmm5GRqvsHxKiqBNL_wfzy_GVv1qqTVFLc,5746
7
7
  geobox/dashboard.py,sha256=Gkt66_WqJEco2olFfZ7W8ux3IhhbbudVqfLlB3t8MCs,13039
8
- geobox/enums.py,sha256=jA5KwOdTMkFhXEBgcP-8bgi0cFyD1NFN4QpLelow0HA,8044
8
+ geobox/enums.py,sha256=02QRtUeHSaf3iyLSIcmFKkZNcRA_HWSwAGVI6PxTOEQ,8092
9
9
  geobox/exception.py,sha256=jvpnv0M2Ck1FpxHTL_aKYWxGvLnCQ3d9vOrMIktjw1U,1507
10
10
  geobox/feature.py,sha256=YP-wCSxEin93ji6Hq72LG7j1VjGC0Jk05g06IOW_W8I,20455
11
11
  geobox/field.py,sha256=_5CS3kj3P-BKCbtAUd7dtkPBnN0D0H1ZKPlKx8DValw,11188
@@ -16,7 +16,7 @@ geobox/map.py,sha256=SUHGA5GEGeCHsjZbRgnd7RGTKqSxpk3oyC1RKZfK-FA,39042
16
16
  geobox/model3d.py,sha256=ygzPuFFkXIERm2dMQE5U_kwW_fsS9OLIE_XrPMsw54I,15318
17
17
  geobox/mosaic.py,sha256=ImJ6D2T63v86NKUKMEzWToed0jnfFtFz7HqO4mJU7DQ,25817
18
18
  geobox/plan.py,sha256=-Mw5QkLK7Sd1SoTnwQ_FHIXUyDNCGVZcK8Ba_naIuP0,13348
19
- geobox/query.py,sha256=Bv9PsXRzcPldm0iX_f2xBXu2swiIoesLB6FMWFCRuz0,25997
19
+ geobox/query.py,sha256=TaVHF2l9T3bpUyqUQMJbkx-E_NZdOMPmOS4_-9VmKzw,26004
20
20
  geobox/raster.py,sha256=3Vl4eX60DVRGgVI51A2AF_o5eaKsM8LLn5ODGE6Dspg,33805
21
21
  geobox/raster_analysis.py,sha256=yoWA5_-GixyAJMpo8cHmZcYrEYUvwo2395BwrGlUBaA,34920
22
22
  geobox/route.py,sha256=cKZTTHBHM8woWbhHIpCvrRX_doJcTkGktouee0z7oG0,2723
@@ -49,7 +49,7 @@ geobox/aio/map.py,sha256=YZNaOBh9E38-bbeYsLxKjiVHhC-hoi3KDbG1fgIJsRs,41228
49
49
  geobox/aio/model3d.py,sha256=KFm5h2lW_WR6BvFshRtfVnniCc0yOS1F9Djhj_Q-tOA,16440
50
50
  geobox/aio/mosaic.py,sha256=07DLl1xO92OXlJxAsxHO1NmBWRlfyWo5aBgoX6hlVxc,27960
51
51
  geobox/aio/plan.py,sha256=3RrDjDHWBlFO3fA-FdL_IWC5W5mtZjm8SeJA2NzuJOE,13879
52
- geobox/aio/query.py,sha256=1rackooJ46llzrw0cxAhfw0_1asNo7RKSIVuJnVrT9I,27770
52
+ geobox/aio/query.py,sha256=d2voJ7A38wxdlRZH7Hv5xJXJUqzDrsUFe7FECjsadjg,27777
53
53
  geobox/aio/raster.py,sha256=t4oY5As0_3o1Z2JVYwwyQ_Rks-Oa4t4zJkWVTnD_C_g,35912
54
54
  geobox/aio/raster_analysis.py,sha256=aSU_E8TXrex2x9w3S4WCWGTu0q81qOBN0rXo5uG5IgM,36672
55
55
  geobox/aio/route.py,sha256=dkKsK4ZjL7XikgoZ3lJfkr2UXwrmxct4Qt2DzZg0upE,2860
@@ -65,8 +65,8 @@ geobox/aio/vectorlayer.py,sha256=qucLKg76sVSZt6WxU9PL5C6ROJ4uxdxSBXm5dUfIsBA,598
65
65
  geobox/aio/version.py,sha256=Yt7tKUqHS8rKfTPAm77yAaDajFn0ZEo0UWhA5DN7_uM,11422
66
66
  geobox/aio/view.py,sha256=u6TpBsd5PzqCLv6XRJtReeB68C7mxS-WqqDt2BDtxPs,45439
67
67
  geobox/aio/workflow.py,sha256=UwOVMDRjJIiveXbYB8rGO02s5A7fn2BhEvQXkWMSApU,13707
68
- geobox-2.2.4.dist-info/licenses/LICENSE,sha256=AvFB7W94sJYKLDhBxLRshL3upexCOG8HQY_1JibB96w,1063
69
- geobox-2.2.4.dist-info/METADATA,sha256=ahdZI2Yls6TXeQaGgFtvc3A24CK5jDlBTqumE-Guxa8,3082
70
- geobox-2.2.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
- geobox-2.2.4.dist-info/top_level.txt,sha256=ppXH8Bu2mlB-pLQ6lsoWEm2Gr6wZx1uzkhetsYA5ins,7
72
- geobox-2.2.4.dist-info/RECORD,,
68
+ geobox-2.2.6.dist-info/licenses/LICENSE,sha256=AvFB7W94sJYKLDhBxLRshL3upexCOG8HQY_1JibB96w,1063
69
+ geobox-2.2.6.dist-info/METADATA,sha256=uNNec3UZ8SZw023x_66ECuKWlYwpQydpHl_Jpr2M19A,3082
70
+ geobox-2.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
71
+ geobox-2.2.6.dist-info/top_level.txt,sha256=ppXH8Bu2mlB-pLQ6lsoWEm2Gr6wZx1uzkhetsYA5ins,7
72
+ geobox-2.2.6.dist-info/RECORD,,
File without changes