soia-client 1.1.11__py3-none-any.whl → 1.1.12__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.

Potentially problematic release.


This version of soia-client might be problematic. Click here for more details.

soia/_impl/primitives.py CHANGED
@@ -407,6 +407,13 @@ class _StringAdapter(AbstractPrimitiveAdapter[str]):
407
407
  STRING_ADAPTER: Final[TypeAdapter] = _StringAdapter()
408
408
 
409
409
 
410
+ def _bytes_from_json(json: str) -> bytes:
411
+ if json.startswith("hex:"):
412
+ return bytes.fromhex(json[4:])
413
+ else:
414
+ return base64.b64decode(json)
415
+
416
+
410
417
  class _BytesAdapter(AbstractPrimitiveAdapter[bytes]):
411
418
  def default_expr(self) -> ExprLike:
412
419
  return 'b""'
@@ -422,18 +429,25 @@ class _BytesAdapter(AbstractPrimitiveAdapter[bytes]):
422
429
  in_expr: ExprLike,
423
430
  readable: bool,
424
431
  ) -> Expr:
425
- return Expr.join(
426
- Expr.local("b64encode", base64.b64encode),
427
- "(",
428
- in_expr,
429
- ").decode('utf-8')",
430
- )
432
+ if readable:
433
+ return Expr.join(
434
+ "('hex:' + ",
435
+ in_expr,
436
+ ".hex())",
437
+ )
438
+ else:
439
+ return Expr.join(
440
+ Expr.local("b64encode", base64.b64encode),
441
+ "(",
442
+ in_expr,
443
+ ").decode('utf-8')",
444
+ )
431
445
 
432
446
  def from_json_expr(
433
447
  self, json_expr: ExprLike, keep_unrecognized_expr: ExprLike
434
448
  ) -> Expr:
435
449
  return Expr.join(
436
- Expr.local("b64decode", base64.b64decode), "(", json_expr, ' or "")'
450
+ Expr.local("bytes_from_json", _bytes_from_json), "(", json_expr, ' or "")'
437
451
  )
438
452
 
439
453
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: soia-client
3
- Version: 1.1.11
3
+ Version: 1.1.12
4
4
  Author-email: Tyler Fibonacci <gepheum@gmail.com>
5
5
  License: MIT License
6
6
 
@@ -12,7 +12,7 @@ soia/_impl/keyed_items.py,sha256=EoPrdeLJ8i7zCH-oW-7qOcyadyrzykB6lkrf3xRVmyk,337
12
12
  soia/_impl/method.py,sha256=C6ygh-Li4zADxFR_gfeBTuPUzLjZ1XHCp0ZI4-uiRYs,455
13
13
  soia/_impl/never.py,sha256=T7PHtIipuXlici4wa0yuJKrn9JgcT-ODC3QVCwsPprY,46
14
14
  soia/_impl/optionals.py,sha256=nYEQcR_kGzVGSaIhatQmZyusdDfmgmB7a7cgL2OVeJA,3661
15
- soia/_impl/primitives.py,sha256=P6nxe11euYSnSjN2vPIbmtTDU2OnH2_I3rQYv7taYA4,13540
15
+ soia/_impl/primitives.py,sha256=BIkHP-6M2YO72Xzwp1d5mLrgzMkzRIZnhbQfnJLaMl8,13894
16
16
  soia/_impl/repr.py,sha256=Z4sZKFrujdTD49aqB7q3bjXAb1f31I7uuChDBy5XvFg,1418
17
17
  soia/_impl/serializer.py,sha256=UrOb5_VaPnRb0t-Nop7mu7j_yaK4fiRQzwMdKOUkmTQ,4627
18
18
  soia/_impl/serializers.py,sha256=IL9jHHMo11pgrL1-crarOEElvTyV5YM6FTcgumjW6IU,2564
@@ -21,8 +21,8 @@ soia/_impl/service_client.py,sha256=FWfbFswbhMBw1snR9JLEpSJagY2ntZbFaVxTUGEDA5s,
21
21
  soia/_impl/structs.py,sha256=7hHula-mJnKbYyl6crYvv1U5uxj5lcvLeyD1fCbJIrc,35945
22
22
  soia/_impl/timestamp.py,sha256=uiDQOVDC1ygA-15Yl_b7-pT_tsbHe1YrtB0kA5FFebY,5637
23
23
  soia/_impl/type_adapter.py,sha256=OSZdXbeXANSEkKBb_rAgljB_2qG3HJUk6jK3nPjzRRY,2909
24
- soia_client-1.1.11.dist-info/licenses/LICENSE,sha256=SaAftKkX6hfSOiPdENQPS70tifH3PDHgazq8eK2Pwfw,1064
25
- soia_client-1.1.11.dist-info/METADATA,sha256=ncXGjZw4gmVZMU4FIyUl_uB4i97EBdGcKfDt9ZHaQxI,2122
26
- soia_client-1.1.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- soia_client-1.1.11.dist-info/top_level.txt,sha256=lsYG9JrvauFe1oIV5zvnwsS9hsx3ztwfK_937op9mxc,5
28
- soia_client-1.1.11.dist-info/RECORD,,
24
+ soia_client-1.1.12.dist-info/licenses/LICENSE,sha256=SaAftKkX6hfSOiPdENQPS70tifH3PDHgazq8eK2Pwfw,1064
25
+ soia_client-1.1.12.dist-info/METADATA,sha256=AyZDoXKXycxmXGBkZ_RIKGqXiHclOIJ_aYGyiHnmftI,2122
26
+ soia_client-1.1.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ soia_client-1.1.12.dist-info/top_level.txt,sha256=lsYG9JrvauFe1oIV5zvnwsS9hsx3ztwfK_937op9mxc,5
28
+ soia_client-1.1.12.dist-info/RECORD,,