omdev 0.0.0.dev245__py3-none-any.whl → 0.0.0.dev246__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.
omdev/scripts/ci.py CHANGED
@@ -7198,6 +7198,22 @@ class LoggingHttpHandler(HttpHandler_):
7198
7198
  return resp
7199
7199
 
7200
7200
 
7201
+ @dc.dataclass(frozen=True)
7202
+ class ExceptionLoggingHttpHandler(HttpHandler_):
7203
+ handler: HttpHandler
7204
+ log: logging.Logger
7205
+ message: ta.Union[str, ta.Callable[[HttpHandlerRequest, BaseException], str]] = 'Error in http handler'
7206
+
7207
+ def __call__(self, req: HttpHandlerRequest) -> HttpHandlerResponse:
7208
+ try:
7209
+ return self.handler(req)
7210
+ except Exception as e: # noqa
7211
+ if callable(msg := self.message):
7212
+ msg = msg(req, e)
7213
+ self.log.exception(msg)
7214
+ raise
7215
+
7216
+
7201
7217
  ##
7202
7218
 
7203
7219
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: omdev
3
- Version: 0.0.0.dev245
3
+ Version: 0.0.0.dev246
4
4
  Summary: omdev
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: >=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish==0.0.0.dev245
15
+ Requires-Dist: omlish==0.0.0.dev246
16
16
  Provides-Extra: all
17
17
  Requires-Dist: black~=25.1; extra == "all"
18
18
  Requires-Dist: pycparser~=2.22; extra == "all"
@@ -212,7 +212,7 @@ omdev/pyproject/resources/docker-dev.sh,sha256=DHkz5D18jok_oDolfg2mqrvGRWFoCe9GQ
212
212
  omdev/pyproject/resources/python.sh,sha256=rFaN4SiJ9hdLDXXsDTwugI6zsw6EPkgYMmtacZeTbvw,749
213
213
  omdev/scripts/__init__.py,sha256=MKCvUAEQwsIvwLixwtPlpBqmkMXLCnjjXyAXvVpDwVk,91
214
214
  omdev/scripts/bumpversion.py,sha256=2NnfRsJiZNTg-LubIwXCm2vklG7-kIR8_xFUEZNxtiY,1119
215
- omdev/scripts/ci.py,sha256=uPisSbapukOgntmWCmNXHOU_IYpEh6KOceOuD5f8Cgc,333059
215
+ omdev/scripts/ci.py,sha256=isgsUWvutxKJdiIOP74IV_IpPqejWU3bUBzE90gZe-0,333590
216
216
  omdev/scripts/execrss.py,sha256=mR0G0wERBYtQmVIn63lCIIFb5zkCM6X_XOENDFYDBKc,651
217
217
  omdev/scripts/exectime.py,sha256=S2O4MgtzTsFOY2IUJxsrnOIame9tEFc6aOlKP-F1JSg,1541
218
218
  omdev/scripts/importtrace.py,sha256=oa7CtcWJVMNDbyIEiRHej6ICfABfErMeo4_haIqe18Q,14041
@@ -254,9 +254,9 @@ omdev/tools/json/rendering.py,sha256=tMcjOW5edfozcMSTxxvF7WVTsbYLoe9bCKFh50qyaGw
254
254
  omdev/tools/pawk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
255
255
  omdev/tools/pawk/__main__.py,sha256=VCqeRVnqT1RPEoIrqHFSu4PXVMg4YEgF4qCQm90-eRI,66
256
256
  omdev/tools/pawk/pawk.py,sha256=zsEkfQX0jF5bn712uqPAyBSdJt2dno1LH2oeSMNfXQI,11424
257
- omdev-0.0.0.dev245.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
258
- omdev-0.0.0.dev245.dist-info/METADATA,sha256=fvRcwA9oM_YzpfGg-pMt5-0b7wAwQ0pnADEaCVWbusw,1636
259
- omdev-0.0.0.dev245.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
260
- omdev-0.0.0.dev245.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
261
- omdev-0.0.0.dev245.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
262
- omdev-0.0.0.dev245.dist-info/RECORD,,
257
+ omdev-0.0.0.dev246.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
258
+ omdev-0.0.0.dev246.dist-info/METADATA,sha256=swqJCNNxFmpABxnv2atg0pI2ZZVHrDcOoYO9OvNZIJw,1636
259
+ omdev-0.0.0.dev246.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
260
+ omdev-0.0.0.dev246.dist-info/entry_points.txt,sha256=dHLXFmq5D9B8qUyhRtFqTGWGxlbx3t5ejedjrnXNYLU,33
261
+ omdev-0.0.0.dev246.dist-info/top_level.txt,sha256=1nr7j30fEWgLYHW3lGR9pkdHkb7knv1U1ES1XRNVQ6k,6
262
+ omdev-0.0.0.dev246.dist-info/RECORD,,