tesla-fleet-api 0.6.1__tar.gz → 0.6.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. {tesla_fleet_api-0.6.1/tesla_fleet_api.egg-info → tesla_fleet_api-0.6.2}/PKG-INFO +1 -1
  2. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/setup.py +1 -1
  3. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/const.py +1 -1
  4. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/teslafleetapi.py +2 -0
  5. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/teslemetry.py +7 -2
  6. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/tessie.py +8 -0
  7. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/vehicle.py +1 -1
  8. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/vehiclespecific.py +8 -0
  9. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2/tesla_fleet_api.egg-info}/PKG-INFO +1 -1
  10. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/LICENSE +0 -0
  11. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/README.md +0 -0
  12. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/setup.cfg +0 -0
  13. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/__init__.py +0 -0
  14. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/charging.py +0 -0
  15. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/energy.py +0 -0
  16. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/energyspecific.py +0 -0
  17. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/exceptions.py +0 -0
  18. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/partner.py +0 -0
  19. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/teslafleetoauth.py +0 -0
  20. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api/user.py +0 -0
  21. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api.egg-info/SOURCES.txt +0 -0
  22. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api.egg-info/dependency_links.txt +0 -0
  23. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api.egg-info/requires.txt +0 -0
  24. {tesla_fleet_api-0.6.1 → tesla_fleet_api-0.6.2}/tesla_fleet_api.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tesla_fleet_api
3
- Version: 0.6.1
3
+ Version: 0.6.2
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/tesla_fleet_api
6
6
  Author: Brett Adams
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="tesla_fleet_api",
8
- version="0.6.1",
8
+ version="0.6.2",
9
9
  author="Brett Adams",
10
10
  author_email="hello@teslemetry.com",
11
11
  description="Tesla Fleet API library for Python",
@@ -3,7 +3,7 @@
3
3
  from enum import Enum
4
4
  import logging
5
5
 
6
- VERSION = "0.6.1"
6
+ VERSION = "0.6.2"
7
7
  LOGGER = logging.getLogger(__package__)
8
8
  SERVERS = {
9
9
  "na": "https://fleet-api.prd.na.vn.cloud.tesla.com",
@@ -114,6 +114,8 @@ class TeslaFleetApi:
114
114
  params=params,
115
115
  ) as resp:
116
116
  LOGGER.debug("Response Status: %s", resp.status)
117
+ if "x-txid" in resp.headers:
118
+ LOGGER.debug("Response TXID: %s", resp.headers["x-txid"])
117
119
  if not resp.ok:
118
120
  await raise_for_status(resp)
119
121
  if not resp.content_type.lower().startswith("application/json"):
@@ -2,7 +2,7 @@ import aiohttp
2
2
  from aiolimiter import AsyncLimiter
3
3
  from typing import Any
4
4
  from .teslafleetapi import TeslaFleetApi
5
- from .const import Method, LOGGER
5
+ from .const import Method, LOGGER, Scope
6
6
 
7
7
  # Rate limit should be global, even if multiple instances are created
8
8
  rate_limit = AsyncLimiter(5, 10)
@@ -39,7 +39,7 @@ class Teslemetry(TeslaFleetApi):
39
39
  )
40
40
 
41
41
  async def metadata(self, update_region=True) -> dict[str, Any]:
42
- """Test API Authentication."""
42
+ """Get user metadata including scopes."""
43
43
  resp = await self._request(
44
44
  Method.GET,
45
45
  "api/metadata",
@@ -49,6 +49,11 @@ class Teslemetry(TeslaFleetApi):
49
49
  self.server = f"https://{self.region}.teslemetry.com"
50
50
  LOGGER.debug("Using server %s", self.server)
51
51
  return resp
52
+
53
+ async def scopes(self) -> list[str]:
54
+ """Get user scopes."""
55
+ resp = await self.metadata(False)
56
+ return resp["scopes"]
52
57
 
53
58
  async def find_server(self) -> str:
54
59
  """Find the server URL for the Tesla Fleet API."""
@@ -19,6 +19,14 @@ class Tessie(TeslaFleetApi):
19
19
  user_scope=False,
20
20
  )
21
21
 
22
+ async def scopes(self) -> list[str]:
23
+ """Get user scopes."""
24
+ resp = await self._request(
25
+ Method.GET,
26
+ "auth/tesla_scopes",
27
+ )
28
+ return resp["scopes"]
29
+
22
30
  async def find_server(self) -> str:
23
31
  """Find the server URL for the Tesla Fleet API."""
24
32
  raise NotImplementedError("Do not use this function for Tessie.")
@@ -752,7 +752,7 @@ class Vehicle:
752
752
  async def fleet_status(self, vins: List[str]) -> dict[str, Any]:
753
753
  """Checks whether vehicles can accept Tesla commands protocol for the partner's public key"""
754
754
  return await self._request(
755
- Method.GET, "api/1/vehicles/fleet_status", json={"vins": vins}
755
+ Method.POST, "api/1/vehicles/fleet_status", json={"vins": vins}
756
756
  )
757
757
 
758
758
  async def fleet_telemetry_config_create(
@@ -436,6 +436,14 @@ class VehicleSpecific:
436
436
  """Checks whether vehicles can accept Tesla commands protocol for the partner's public key"""
437
437
  return await self._parent.fleet_status([self.vin])
438
438
 
439
+ async def fleet_telemetry_config_create(
440
+ self, config: dict[str, Any]
441
+ ) -> dict[str, Any]:
442
+ """Configures fleet telemetry."""
443
+ return await self._parent.fleet_telemetry_config_create(
444
+ {"vins": [self.vin], "config": config}
445
+ )
446
+
439
447
  async def fleet_telemetry_config_get(self) -> dict[str, Any]:
440
448
  """Configures fleet telemetry."""
441
449
  return await self._parent.fleet_telemetry_config_get(self.vin)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tesla_fleet_api
3
- Version: 0.6.1
3
+ Version: 0.6.2
4
4
  Summary: Tesla Fleet API library for Python
5
5
  Home-page: https://github.com/Teslemetry/tesla_fleet_api
6
6
  Author: Brett Adams
File without changes