• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SPF-OST / pytrnsys_gui / 11592777954

29 Oct 2024 03:09PM UTC coverage: 67.508% (-0.08%) from 67.591%
11592777954

push

github

web-flow
Merge pull request #564 from SPF-OST/560-black-change-line-length-to-pep8-standard-of-79-and-check-ci-reaction

changed line length in black to 79

1054 of 1475 new or added lines in 174 files covered. (71.46%)

150 existing lines in 74 files now uncovered.

10399 of 15404 relevant lines covered (67.51%)

0.68 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

41.38
/trnsysGUI/loggingCallback.py
1
__all__ = ["configureLoggingCallback"]
1✔
2

3
import logging as _log
1✔
4
import typing as _tp
1✔
5

6
import trnsysGUI.common as _com
1✔
7

8

9
def configureLoggingCallback(
1✔
10
    logger: _log.Logger,
11
    callback: "_Callback",
12
    formatString: _tp.Optional[str] = None,
13
) -> None:
14
    if _hasCallback(logger, callback):
×
15
        raise ValueError("Cannot add same callback to logger twice.")
×
16

17
    callbackLogHandler = _CallbackLogHandler(callback)
×
18

19
    if formatString:
×
20
        formatter = _log.Formatter(fmt=formatString)
×
21
        callbackLogHandler.setFormatter(formatter)
×
22

23
    logger.addHandler(callbackLogHandler)
×
24

25

26
def _hasCallback(logger: _log.Logger, callback: "_Callback") -> bool:
1✔
27
    handlers = _getHandlersForCallback(logger, callback)
×
28
    return any(handlers)
×
29

30

31
def _getHandlersForCallback(
1✔
32
    logger: _log.Logger, callback: "_Callback"
33
) -> _tp.Sequence[_log.Handler]:
NEW
34
    return [
×
35
        h
36
        for h in logger.handlers
37
        if isinstance(h, _CallbackLogHandler) and h.callback == callback
38
    ]
39

40

41
def removeLoggingCallback(logger: _log.Logger, callback: "_Callback") -> None:
1✔
42
    handlers = _getHandlersForCallback(logger, callback)
×
43
    handler = _com.getSingle(handlers)
×
44
    logger.removeHandler(handler)
×
45

46

47
_Callback = _tp.Callable[[str], None]
1✔
48

49

50
class _CallbackLogHandler(_log.Handler):
1✔
51
    def __init__(self, callback: _Callback):
1✔
52
        super().__init__()
×
53
        self.callback = callback
×
54

55
    def emit(self, record: _log.LogRecord) -> None:
1✔
56
        message = self.format(record)
×
57
        self.callback(message)
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc