logger-36 2025.10__py3-none-any.whl → 2025.11__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.
logger_36/exception.py CHANGED
@@ -7,13 +7,29 @@ SEE COPYRIGHT NOTICE BELOW
7
7
  import re as r
8
8
  import sys as s
9
9
  import tempfile as tmpf
10
+ import textwrap as text
10
11
  import traceback as tcbk
11
12
  import types as t
12
13
  from pathlib import Path as path_t
13
14
 
15
+ from logger_36.catalog.config.optional import RICH_IS_AVAILABLE
14
16
  from logger_36.constant.path import USER_FOLDER
15
17
 
16
18
  _ORIGINAL_EXCEPTION_HANDLER = s.excepthook
19
+ _INDENTATION = " "
20
+
21
+ if RICH_IS_AVAILABLE:
22
+ from rich import print as ShowErrorMessage # noqa
23
+
24
+ TITLE_COLOR = "[red]"
25
+ FUNCTION_COLOR = "[cyan]"
26
+ REPORT_COLOR = "[red]"
27
+ MONOCHROME = "[/]"
28
+ OPTIONAL_NEWLINE = ""
29
+ else:
30
+ ShowErrorMessage = s.__stderr__.write
31
+ TITLE_COLOR = WHERE_COLOR = REPORT_COLOR = MONOCHROME = ""
32
+ OPTIONAL_NEWLINE = "\n"
17
33
 
18
34
 
19
35
  def OverrideExceptionFormat() -> None:
@@ -63,26 +79,31 @@ def _HandleException(
63
79
  variables = map(
64
80
  lambda _: f"{_:{longest}} = {all_variables[_]}", sorted(found_names)
65
81
  )
66
- variables = " " + "\n ".join(variables) + "\n"
82
+ variables = 2 * _INDENTATION + f"\n{2*_INDENTATION}".join(variables) + "\n"
67
83
  else:
68
84
  variables = ""
69
85
 
70
- line_content = f" {line_content}\n"
86
+ line_content = f"{_INDENTATION}{line_content}\n"
71
87
 
72
88
  # Format message.
73
89
  message = str(exception).strip()
74
90
  if message.__len__() > 0:
75
- message = f" {message[0].title()}{message[1:]}\n"
91
+ if "\n" in message:
92
+ message = text.indent(message, 2 * _INDENTATION)[
93
+ (2 * _INDENTATION.__len__()) :
94
+ ]
95
+ message = f"{_INDENTATION}{message[0].title()}{message[1:]}\n"
76
96
 
77
97
  document = tmpf.NamedTemporaryFile(delete=False)
78
98
 
79
- s.__stderr__.write(
80
- f"{stripe.__name__}\n"
81
- f" {module}:{function}@{line_number}\n"
99
+ ShowErrorMessage(
100
+ f"{TITLE_COLOR}{stripe.__name__}{MONOCHROME}\n"
101
+ f"{_INDENTATION}{module}:{FUNCTION_COLOR}{function}{MONOCHROME}@{line_number}\n"
82
102
  f"{line_content}"
83
103
  f"{variables}"
84
104
  f"{message}"
85
- f" Full report at: {document.name}\n",
105
+ f"{_INDENTATION}{REPORT_COLOR}Full report at: file://{document.name}"
106
+ f"{MONOCHROME}{OPTIONAL_NEWLINE}",
86
107
  )
87
108
 
88
109
  lines = tcbk.format_exception(exception)
logger_36/version.py CHANGED
@@ -4,7 +4,7 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- __version__ = "2025.10"
7
+ __version__ = "2025.11"
8
8
 
9
9
  """
10
10
  COPYRIGHT NOTICE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: logger-36
3
- Version: 2025.10
3
+ Version: 2025.11
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,13 +1,13 @@
1
1
  logger_36/__init__.py,sha256=3BtAgxFb14e9zzC5fXwqSQxstsd3BO0b_KVu3_wbLwg,2592
2
2
  logger_36/content.py,sha256=clHYYUKa8n4qef6PVlUV4mFHRRf6fnm9wEd2fu9oagA,2381
3
- logger_36/exception.py,sha256=9YWnS2LN_Mc0qYkohtbgEkzKe9ja2h_dBEd39ytGbRU,4605
3
+ logger_36/exception.py,sha256=cKY5-AyaiRXqY6ZMyvRk8ZyvBJbNPn8ZoovSOZS2eQY,5383
4
4
  logger_36/gpu.py,sha256=BOumedCAPWvCo7J-KJ3XE-jr5S0KSmgcFv_S4QKRPO8,2252
5
5
  logger_36/handler.py,sha256=fYc9L0RkMnlwKH_dSwOEeOV61D-L3zd-hxbPkzEvKbY,6303
6
6
  logger_36/memory.py,sha256=szJVk4UTXsbYv3B-W9LFttf1F3j86GXHsKgEUOsXKl4,2743
7
7
  logger_36/storage.py,sha256=sCxkHQH4xMaseweK1p2M1j0j2PxNPpy9MytPdg1sKiQ,2239
8
8
  logger_36/system.py,sha256=cgOMF_OneYeIJDMbIbIDx96EZss2uAdkk8QofOC7O1U,2251
9
9
  logger_36/time.py,sha256=Uw1jQtY1njsRuIPRAXX44v4nPOo84MSBu_WK_YCRzQs,2324
10
- logger_36/version.py,sha256=iy6wT5BEzB1vF_6nT0az2cXgwzIOb0RrSrqWYu1gq5g,2206
10
+ logger_36/version.py,sha256=AltFAckl7Uvi8B6oOu0jczqxEitTwp2CpYij03uqDPQ,2206
11
11
  logger_36/api/logger.py,sha256=TE3ATbymeWX-wBKBFkVz2FxUyJnaqY7vzFwAONVsp2o,2233
12
12
  logger_36/api/storage.py,sha256=v1iywLEItJCz18F_nJ20OnlpCpLdA-7EhlvqdLu42js,2243
13
13
  logger_36/catalog/config/console_rich.py,sha256=lAa5Ev5BhXvmQzfIt1FNihMNUQJFlXaIzNanAMdgtd0,2861
@@ -48,7 +48,7 @@ logger_36/type/handler.py,sha256=5g5KdmKk6cdsUSV0JoFfjpAXdQIzSRcW81STyLqqWq8,682
48
48
  logger_36/type/issue.py,sha256=2rGsFqaQJCbeml9xN08mN_nK79L8qscaS_0ws36Y0bI,3214
49
49
  logger_36/type/logger.py,sha256=uqv5948_V8cUi_PBwtLGGNDcYe8NfaePQcZXvviCs9w,22802
50
50
  logger_36/type/loggers.py,sha256=znqxWBnfQxvkg3VUfbTUvt3S6Kq0DAzWWepxQDt9suI,2871
51
- logger_36-2025.10.dist-info/METADATA,sha256=SD9qdZj7hf8PpN1Aezr9JYsUWaM7N2Grv-cBfT5BlHw,6506
52
- logger_36-2025.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
53
- logger_36-2025.10.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
54
- logger_36-2025.10.dist-info/RECORD,,
51
+ logger_36-2025.11.dist-info/METADATA,sha256=V2R2XN6OY3_-2vG99iDSKX1Lk5K5JgE29Vw0W9b_pac,6506
52
+ logger_36-2025.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
53
+ logger_36-2025.11.dist-info/top_level.txt,sha256=sM95BTMWmslEEgR_1pzwZsOeSp8C_QBiu8ImbFr0XLc,10
54
+ logger_36-2025.11.dist-info/RECORD,,