logger-36 2024.5__py3-none-any.whl → 2024.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.
@@ -56,6 +56,21 @@ from rich.console import Console as console_t
56
56
  from rich.console import RenderableType as renderable_t
57
57
  from rich.markup import escape as EscapedForRich
58
58
  from rich.text import Text as text_t
59
+ from rich.traceback import install as InstallTracebackHandler
60
+
61
+
62
+ _COMMON_TRACEBACK_ARGUMENTS = ("theme", "width")
63
+ _EXCLUSIVE_TRACEBACK_ARGUMENTS = (
64
+ "extra_lines",
65
+ "indent_guides",
66
+ "locals_hide_dunder",
67
+ "locals_hide_sunder",
68
+ "locals_max_length",
69
+ "locals_max_string",
70
+ "max_frames" "show_locals",
71
+ "suppress",
72
+ "word_wrap",
73
+ )
59
74
 
60
75
 
61
76
  @dtcl.dataclass(slots=True, repr=False, eq=False)
@@ -69,6 +84,7 @@ class console_rich_handler_t(lggg.Handler):
69
84
  show_where: dtcl.InitVar[bool] = True
70
85
  show_memory_usage: dtcl.InitVar[bool] = False
71
86
  formatter: dtcl.InitVar[lggg.Formatter | None] = None
87
+ should_install_traceback: dtcl.InitVar[bool] = False
72
88
 
73
89
  rich_kwargs: dtcl.InitVar[dict[str, h.Any] | None] = None
74
90
 
@@ -79,6 +95,7 @@ class console_rich_handler_t(lggg.Handler):
79
95
  show_where: bool,
80
96
  show_memory_usage: bool,
81
97
  formatter: lggg.Formatter | None,
98
+ should_install_traceback: bool,
82
99
  rich_kwargs: dict[str, h.Any] | None,
83
100
  ) -> None:
84
101
  """"""
@@ -94,13 +111,27 @@ class console_rich_handler_t(lggg.Handler):
94
111
  )
95
112
 
96
113
  if rich_kwargs is None:
97
- rich_kwargs = {}
114
+ rich_console_kwargs = {}
115
+ else:
116
+ rich_console_kwargs = rich_kwargs
117
+ rich_traceback_kwargs = {}
118
+ if should_install_traceback:
119
+ for key in rich_console_kwargs:
120
+ if key in _COMMON_TRACEBACK_ARGUMENTS:
121
+ rich_traceback_kwargs[key] = rich_console_kwargs[key]
122
+ elif key in _EXCLUSIVE_TRACEBACK_ARGUMENTS:
123
+ rich_traceback_kwargs[key] = rich_console_kwargs[key]
124
+ del rich_console_kwargs[key]
125
+
98
126
  self.console = console_t(
99
127
  highlight=False,
100
128
  force_terminal=True,
101
129
  record=True,
102
- **rich_kwargs,
130
+ **rich_console_kwargs,
103
131
  )
132
+ if should_install_traceback:
133
+ rich_traceback_kwargs["console"] = self.console
134
+ InstallTracebackHandler(**rich_traceback_kwargs)
104
135
 
105
136
  self.FormattedLines = self.extension.FormattedLines
106
137
 
logger_36/main.py CHANGED
@@ -121,6 +121,7 @@ def AddRichConsoleHandler(
121
121
  show_memory_usage: bool = False,
122
122
  formatter: lggg.Formatter | None = None,
123
123
  should_hold_messages: bool = False,
124
+ should_install_traceback: bool = False,
124
125
  **kwargs,
125
126
  ) -> None:
126
127
  """"""
@@ -138,6 +139,7 @@ def AddRichConsoleHandler(
138
139
  show_where=show_where,
139
140
  show_memory_usage=show_memory_usage,
140
141
  formatter=formatter,
142
+ should_install_traceback=should_install_traceback,
141
143
  rich_kwargs=kwargs,
142
144
  )
143
145
  logger.AddHandler(handler, should_hold_messages)
logger_36/version.py CHANGED
@@ -29,4 +29,4 @@
29
29
  # The fact that you are presently reading this means that you have had
30
30
  # knowledge of the CeCILL license and that you accept its terms.
31
31
 
32
- __version__ = "2024.5"
32
+ __version__ = "2024.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: logger-36
3
- Version: 2024.5
3
+ Version: 2024.6
4
4
  Summary: Simple logger with a catalog of handlers
5
5
  Home-page: https://src.koda.cnrs.fr/eric.debreuve/logger-36/
6
6
  Author: Eric Debreuve
@@ -1,10 +1,10 @@
1
1
  logger_36/__init__.py,sha256=-VGyte6TD6SWU4jBXUjur_xU1R1Asha5KXEwDNmGJ6Q,1756
2
2
  logger_36/instance.py,sha256=NQlDAyXV3TNekX9xj9V7JMePmsa2DWnTDaVzh5dcyGM,1616
3
- logger_36/main.py,sha256=tN2GD-tL5UcRwW1HuJHcIh8WlLBbXO-zF-6Sy700Uwo,6587
4
- logger_36/version.py,sha256=U3BX6By9kxj1MIlg-OiskCuwp9JDaGz-_Skvedwbjzo,1575
3
+ logger_36/main.py,sha256=kdv79ZTpapb9ltLoKfSfR89CdPxDlizUJs6IctSRTqE,6690
4
+ logger_36/version.py,sha256=4cJ_wNkTKxQDHDz6-DuN3-53TI6P_28cAcNpeuDUmCQ,1575
5
5
  logger_36/catalog/config/console_rich.py,sha256=jJnYXPDsMCTu8zny2X3NdeyKFCfhJupberqIBxyv3LA,2030
6
6
  logger_36/catalog/handler/console.py,sha256=PnaCWJsXN-x_-X8i-4o4HWys-7K0A83s4kIdtmDz3AQ,3092
7
- logger_36/catalog/handler/console_rich.py,sha256=YqKyKwHoYCEVnW1S87NDu3ReTCIzSdYgC-20-813TFQ,5395
7
+ logger_36/catalog/handler/console_rich.py,sha256=pTczLjsEB78DT4ph57yLeQKPTcJVXpc3Q99d_I4YOk0,6512
8
8
  logger_36/catalog/handler/file.py,sha256=BAxA-ZQAikmH0R9Ia3mbSXf-Z60-FfA4ElOVjjmanS0,3507
9
9
  logger_36/catalog/handler/generic.py,sha256=1pAmP5vOxBPWhpqoBRDNIc3q14dIDsj7JbX-VqcgUbM,5931
10
10
  logger_36/catalog/logging/chronos.py,sha256=5SWyRUhwwKeJg3NPf9jkCqtKc7b_4x58Slbq2iMA8kE,1814
@@ -33,7 +33,7 @@ logger_36/task/measure/memory.py,sha256=1f1X-XHd_58LJYJ0Ok5TGIagnf0k5F39IFqWHN2O
33
33
  logger_36/type/extension.py,sha256=fsYx0wT1bR6DtpM2VnaxsM0MFv2vBLROgRSCs4duasY,5198
34
34
  logger_36/type/issue.py,sha256=T1WFtc8Js1OChYkIHQiOP825Dcb9atpEprLWaPTxAHA,2151
35
35
  logger_36/type/logger.py,sha256=t1pXc82F8wF-g-qyh7VxyoFBp0MKgtpOoyDznem9L6Q,12729
36
- logger_36-2024.5.dist-info/METADATA,sha256=fD1AEJe7mGRC55VHNLcGGJ2c51Igp_0hq0F1PvMveiQ,4246
37
- logger_36-2024.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
38
- logger_36-2024.5.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
39
- logger_36-2024.5.dist-info/RECORD,,
36
+ logger_36-2024.6.dist-info/METADATA,sha256=HPZZUBLa9QTUkXToFVDxwVGXx47snsdOQ1BUwxX0xdM,4246
37
+ logger_36-2024.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
38
+ logger_36-2024.6.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
39
+ logger_36-2024.6.dist-info/RECORD,,