Add LoggingReporter.from_reporter() constructor

This commit is contained in:
Takeshi KOMIYA 2017-11-14 22:33:56 +09:00
parent 0e86ff2f11
commit 16c244cd6a
2 changed files with 8 additions and 3 deletions

View File

@ -58,9 +58,7 @@ class SphinxBaseReader(standalone.Reader):
# type: () -> nodes.document
document = standalone.Reader.new_document(self)
reporter = document.reporter
document.reporter = LoggingReporter(reporter.source, reporter.report_level,
reporter.halt_level, reporter.debug_flag,
reporter.error_handler)
document.reporter = LoggingReporter.from_reporter(reporter)
return document

View File

@ -167,6 +167,13 @@ class WarningStream(object):
class LoggingReporter(Reporter):
@classmethod
def from_reporter(cls, reporter):
# type: (Reporter) -> LoggingReporter
"""Create an instance of LoggingReporter from other reporter object."""
return cls(reporter.source, reporter.report_level, reporter.halt_level,
reporter.debug_flag, reporter.error_handler)
def __init__(self, source, report_level, halt_level,
debug=False, error_handler='backslashreplace'):
# type: (unicode, int, int, bool, unicode) -> None