aioamazondevices 3.1.14__tar.gz → 3.1.17rc1__tar.gz

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.
@@ -1,29 +1,24 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aioamazondevices
3
- Version: 3.1.14
3
+ Version: 3.1.17rc1
4
4
  Summary: Python library to control Amazon devices
5
5
  License: Apache-2.0
6
6
  Author: Simone Chemelli
7
7
  Author-email: simone.chemelli@gmail.com
8
- Requires-Python: >=3.12,<4.0
8
+ Requires-Python: >=3.12
9
9
  Classifier: Development Status :: 2 - Pre-Alpha
10
10
  Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: Apache Software License
12
11
  Classifier: Natural Language :: English
13
12
  Classifier: Operating System :: OS Independent
14
- Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
13
  Classifier: Topic :: Software Development :: Libraries
18
14
  Requires-Dist: aiohttp
19
- Requires-Dist: babel
20
15
  Requires-Dist: beautifulsoup4
21
16
  Requires-Dist: colorlog
17
+ Requires-Dist: langcodes
22
18
  Requires-Dist: orjson
23
19
  Requires-Dist: yarl
24
20
  Project-URL: Bug Tracker, https://github.com/chemelli74/aioamazondevices/issues
25
21
  Project-URL: Changelog, https://github.com/chemelli74/aioamazondevices/blob/main/CHANGELOG.md
26
- Project-URL: Repository, https://github.com/chemelli74/aioamazondevices
27
22
  Description-Content-Type: text/markdown
28
23
 
29
24
  # aioamazondevices
@@ -1,8 +1,11 @@
1
- [tool.poetry]
1
+ [project]
2
2
  name = "aioamazondevices"
3
- version = "3.1.14"
3
+ version = "3.1.17-rc.1"
4
+ requires-python = ">=3.12"
4
5
  description = "Python library to control Amazon devices"
5
- authors = ["Simone Chemelli <simone.chemelli@gmail.com>"]
6
+ authors = [
7
+ { name = "Simone Chemelli", email = "simone.chemelli@gmail.com" },
8
+ ]
6
9
  license = "Apache-2.0"
7
10
  readme = "README.md"
8
11
  repository = "https://github.com/chemelli74/aioamazondevices"
@@ -16,22 +19,22 @@ classifiers = [
16
19
  packages = [
17
20
  { include = "aioamazondevices", from = "src" },
18
21
  ]
22
+ dependencies = [
23
+ "aiohttp",
24
+ "beautifulsoup4",
25
+ "colorlog",
26
+ "langcodes",
27
+ "orjson",
28
+ "yarl",
29
+ ]
19
30
 
20
- [tool.poetry.urls]
31
+ [project.urls]
21
32
  "Bug Tracker" = "https://github.com/chemelli74/aioamazondevices/issues"
22
33
  "Changelog" = "https://github.com/chemelli74/aioamazondevices/blob/main/CHANGELOG.md"
23
34
 
24
- [tool.poetry.dependencies]
25
- aiohttp = "*"
26
- python = "^3.12"
27
- babel = "*"
28
- beautifulsoup4 = "*"
29
- colorlog = "*"
30
- orjson = "*"
31
- yarl = "*"
32
35
 
33
36
  [tool.poetry.group.dev.dependencies]
34
- pytest = "^8.1"
37
+ pytest = "^8.4"
35
38
  pytest-cov = ">=5,<7"
36
39
 
37
40
  [tool.semantic_release]
@@ -1,6 +1,6 @@
1
1
  """aioamazondevices library."""
2
2
 
3
- __version__ = "3.1.14"
3
+ __version__ = "3.1.15"
4
4
 
5
5
 
6
6
  from .api import AmazonDevice, AmazonEchoApi
@@ -16,8 +16,8 @@ from urllib.parse import parse_qs, urlencode
16
16
 
17
17
  import orjson
18
18
  from aiohttp import ClientConnectorError, ClientResponse, ClientSession
19
- from babel import Locale
20
19
  from bs4 import BeautifulSoup, Tag
20
+ from langcodes import Language
21
21
  from multidict import CIMultiDictProxy, MultiDictProxy
22
22
  from yarl import URL
23
23
 
@@ -819,8 +819,9 @@ class AmazonEchoApi:
819
819
  message_source: AmazonMusicSource | None = None,
820
820
  ) -> None:
821
821
  """Send message to specific device."""
822
- locale_data = Locale.parse(f"und_{self._login_country_code}")
823
- locale = f"{locale_data.language}-{locale_data.language}"
822
+ lang_object = Language.make(territory=self._login_country_code.upper())
823
+ lang_maximized = lang_object.maximize()
824
+ locale = f"{lang_maximized.language}-{lang_maximized.region}"
824
825
 
825
826
  if not self._login_stored_data:
826
827
  _LOGGER.warning("Trying to send message before login")
@@ -115,7 +115,8 @@ SPEAKER_GROUP_FAMILY = "WHA"
115
115
  SPEAKER_GROUP_MODEL = "Speaker Group"
116
116
 
117
117
  DEVICE_TO_IGNORE: list[str] = [
118
- AMAZON_DEVICE_TYPE, # Alexa App for Mobile
118
+ AMAZON_DEVICE_TYPE, # Alexa App for iOS
119
+ "A2TF17PFR55MTB", # Alexa App for Android
119
120
  "A1RTAM01W29CUP", # Alexa App for PC
120
121
  ]
121
122
 
@@ -140,6 +141,10 @@ DEVICE_TYPE_TO_MODEL: dict[str, dict[str, str | None]] = {
140
141
  "model": "Echo Show 15",
141
142
  "hw_version": "Gen1",
142
143
  },
144
+ "A1NL4BVLQ4L3N3": {
145
+ "model": "Echo Show",
146
+ "hw_version": "Gen1",
147
+ },
143
148
  "A1Q6UGEXJZWJQ0": {
144
149
  "model": "Fire TV Stick 4K",
145
150
  "hw_version": "Gen2",
@@ -165,6 +170,10 @@ DEVICE_TYPE_TO_MODEL: dict[str, dict[str, str | None]] = {
165
170
  "model": "FireTV 4k MAX",
166
171
  "hw_version": "Gen2",
167
172
  },
173
+ "A1XWJRHALS1REP": {
174
+ "model": "Echo Show 5",
175
+ "hw_version": "Gen2",
176
+ },
168
177
  "A1Z88NGR2BK6A2": {
169
178
  "model": "Echo Show 8",
170
179
  "hw_version": "Gen1",
@@ -197,10 +206,18 @@ DEVICE_TYPE_TO_MODEL: dict[str, dict[str, str | None]] = {
197
206
  "model": "Fire TV Stick",
198
207
  "hw_version": "Gen2",
199
208
  },
209
+ "A2M35JJZWCQOMZ": {
210
+ "model": "Echo Plus",
211
+ "hw_version": "Gen1",
212
+ },
200
213
  "A2M4YX06LWP8WI": {
201
214
  "model": "Fire Tablet 7",
202
215
  "hw_version": "Gen5",
203
216
  },
217
+ "A2N49KXGVA18AR": {
218
+ "model": "Fire HD 10 Plus",
219
+ "hw_version": "Gen11",
220
+ },
204
221
  "A2U21SRK4QGSE1": {
205
222
  "model": "Echo Dot",
206
223
  "hw_version": "Gen4",
@@ -250,6 +267,10 @@ DEVICE_TYPE_TO_MODEL: dict[str, dict[str, str | None]] = {
250
267
  "model": "Sonos Beam",
251
268
  "hw_version": None,
252
269
  },
270
+ "A3RBAYBE7VM004": {
271
+ "model": "Echo Studio",
272
+ "hw_version": None,
273
+ },
253
274
  "A3RMGO6LYLH7YN": {
254
275
  "model": "Echo Dot",
255
276
  "hw_version": "Gen4",
@@ -299,6 +320,10 @@ DEVICE_TYPE_TO_MODEL: dict[str, dict[str, str | None]] = {
299
320
  "model": "Fire TV Stick 4K",
300
321
  "hw_version": "Gen1",
301
322
  },
323
+ "AP1F6KUH00XPV": {
324
+ "model": "Echo Stereo Pair",
325
+ "hw_version": "Virtual",
326
+ },
302
327
  "ASQZWP4GPYUT7": {
303
328
  "model": "Echo pop",
304
329
  "hw_version": "Gen1",