dycw-utilities 0.147.0__py3-none-any.whl → 0.147.1__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.147.0
3
+ Version: 0.147.1
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,4 +1,4 @@
1
- utilities/__init__.py,sha256=0p37XbV8mEhPdZc0CQpeIny7GldujNef8ClFcakI1lk,60
1
+ utilities/__init__.py,sha256=J75bM8p_57A3_ySjPtqrNeaMUduKbBl5noITru0C5Ig,60
2
2
  utilities/altair.py,sha256=92E2lCdyHY4Zb-vCw6rEJIsWdKipuu-Tu2ab1ufUfAk,9079
3
3
  utilities/asyncio.py,sha256=aB0EtUbUJ5ZKQ5ET-Xfyx6wfUJG2G4vihEX0blK4TGE,14964
4
4
  utilities/atomicwrites.py,sha256=xcOWenTBRS0oat3kg7Sqe51AohNThMQ2ixPL7QCG8hw,5795
@@ -63,7 +63,7 @@ utilities/reprlib.py,sha256=ssYTcBW-TeRh3fhCJv57sopTZHF5FrPyyUg9yp5XBlo,3953
63
63
  utilities/scipy.py,sha256=wZJM7fEgBAkLSYYvSmsg5ac-QuwAI0BGqHVetw1_Hb0,947
64
64
  utilities/sentinel.py,sha256=3jIwgpMekWgDAxPDA_hXMP2St43cPhciKN3LWiZ7kv0,1248
65
65
  utilities/shelve.py,sha256=HZsMwK4tcIfg3sh0gApx4-yjQnrY4o3V3ZRimvRhoW0,738
66
- utilities/slack_sdk.py,sha256=px9_eKAt3CP4s55blk-CxQ4oyG1ILBBukwMvUXz2Cfs,2142
66
+ utilities/slack_sdk.py,sha256=ppFBvKgfg5IRWiIoKPtpTyzBtBF4XmwEvU3I5wLJikM,2140
67
67
  utilities/socket.py,sha256=K77vfREvzoVTrpYKo6MZakol0EYu2q1sWJnnZqL0So0,118
68
68
  utilities/sqlalchemy.py,sha256=q2aYUDAC3SE88Lt6XaKa3CLzT_ePaWvQu_OuRk19x9g,35520
69
69
  utilities/sqlalchemy_polars.py,sha256=18AoEbeNJUKF3-5hroNy9J5LQwS_QJAXbMfKc9sChtk,14250
@@ -73,7 +73,7 @@ utilities/tempfile.py,sha256=VqmZJAhTJ1OaVywFzk5eqROV8iJbW9XQ_QYAV0bpdRo,1384
73
73
  utilities/text.py,sha256=ymBFlP_cA8OgNnZRVNs7FAh7OG8HxE6YkiLEMZv5g_A,11297
74
74
  utilities/threading.py,sha256=GvBOp4CyhHfN90wGXZuA2VKe9fGzMaEa7oCl4f3nnPU,1009
75
75
  utilities/timer.py,sha256=oXfTii6ymu57niP0BDGZjFD55LEHi2a19kqZKiTgaFQ,2588
76
- utilities/traceback.py,sha256=0BY_FMaTmnq02sCtERbwgo9bwUiagrWjH7ErPdv7-oA,8894
76
+ utilities/traceback.py,sha256=-e1D3cMHJCMbggZVFeKVzyAzHCteEcoPc3-3eY0Dtj8,9187
77
77
  utilities/typed_settings.py,sha256=-mzQP5ZCIGWOhm7nPxlajWQhgtX657HVnRCfUYGKQKs,4433
78
78
  utilities/types.py,sha256=AssdaYdASdtE0HUsdYcagR9lXdt6Bv0QOqP_USm50CQ,18010
79
79
  utilities/typing.py,sha256=Z-_XDaWyT_6wIo3qfNK-hvRlzxP2Jxa9PgXzm5rDYRA,13790
@@ -88,8 +88,8 @@ utilities/zoneinfo.py,sha256=oEH-nL3t4h9uawyZqWDtNtDAl6M-CLpLYGI_nI6DulM,1971
88
88
  utilities/pytest_plugins/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
89
89
  utilities/pytest_plugins/pytest_randomly.py,sha256=NXzCcGKbpgYouz5yehKb4jmxmi2SexKKpgF4M65bi10,414
90
90
  utilities/pytest_plugins/pytest_regressions.py,sha256=Iwhfv_OJH7UCPZCfoh7ugZ2Xjqjil-BBBsOb8sDwiGI,1471
91
- dycw_utilities-0.147.0.dist-info/METADATA,sha256=qzQQx8-fSVY0l6ALS7i4IUgXVYYiznXEYzp5lReRqR4,1697
92
- dycw_utilities-0.147.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
- dycw_utilities-0.147.0.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
94
- dycw_utilities-0.147.0.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
95
- dycw_utilities-0.147.0.dist-info/RECORD,,
91
+ dycw_utilities-0.147.1.dist-info/METADATA,sha256=eMrWFM8cz1gqxHYD9FBko7fpl62DYiU4auzbbUWXXIA,1697
92
+ dycw_utilities-0.147.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
+ dycw_utilities-0.147.1.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
94
+ dycw_utilities-0.147.1.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
95
+ dycw_utilities-0.147.1.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.147.0"
3
+ __version__ = "0.147.1"
utilities/slack_sdk.py CHANGED
@@ -66,7 +66,7 @@ class SendToSlackError(Exception):
66
66
  def __str__(self) -> str:
67
67
  code = self.response.status_code # pragma: no cover
68
68
  phrase = HTTPStatus(code).phrase # pragma: no cover
69
- return f"Error sending to Slack:\n\n{self.text}\n\n{code}: {phrase}" # pragma: no cover
69
+ return f"Error sending to Slack; got error code {code} ({phrase})" # pragma: no cover
70
70
 
71
71
 
72
72
  __all__ = ["SendToSlackError", "send_to_slack", "send_to_slack_async"]
utilities/traceback.py CHANGED
@@ -6,6 +6,7 @@ from dataclasses import dataclass
6
6
  from functools import partial
7
7
  from getpass import getuser
8
8
  from itertools import repeat
9
+ from logging import exception
9
10
  from os import getpid
10
11
  from pathlib import Path
11
12
  from socket import gethostname
@@ -26,6 +27,7 @@ from utilities.reprlib import (
26
27
  RICH_MAX_WIDTH,
27
28
  yield_mapping_repr,
28
29
  )
30
+ from utilities.tzlocal import LOCAL_TIME_ZONE_NAME
29
31
  from utilities.version import get_version
30
32
  from utilities.whenever import (
31
33
  format_compact,
@@ -98,7 +100,10 @@ def _yield_header_lines(
98
100
  now = get_now_local()
99
101
  start_use = to_zoned_date_time(date_time=start)
100
102
  yield f"Date/time | {format_compact(now)}"
101
- start_str = "" if start_use is None else format_compact(start_use)
103
+ if start_use is None:
104
+ start_str = ""
105
+ else:
106
+ start_str = format_compact(start_use.to_tz(LOCAL_TIME_ZONE_NAME))
102
107
  yield f"Started | {start_str}"
103
108
  delta = None if start_use is None else (now - start_use)
104
109
  delta_str = "" if delta is None else delta.format_common_iso()
@@ -277,9 +282,14 @@ def _make_except_hook_inner(
277
282
  with writer(path, overwrite=True) as temp:
278
283
  _ = temp.write_text(full)
279
284
  if slack_url is not None: # pragma: no cover
280
- from utilities.slack_sdk import send_to_slack
285
+ from utilities.slack_sdk import SendToSlackError, send_to_slack
286
+
287
+ try:
288
+ send_to_slack(slack_url, f"```{slim}```")
289
+ except SendToSlackError as error:
290
+ msg = str(error)
291
+ exception(msg) # noqa: LOG015
281
292
 
282
- send_to_slack(slack_url, f"```{slim}```")
283
293
  if to_bool(bool_=pudb): # pragma: no cover
284
294
  from pudb import post_mortem
285
295