Skip to content

Commit 2254d0a

Browse files
author
Nicklas Tegner
authored
Fixed #269 - classify_pandoc_logging improvements
Added logic for if classify_pandoc_logging can't identify the correct logging level (#271) * Added test logic for invalid log levels * Now falling back to default log level, if classify can't identify the correct level
1 parent 3e87fab commit 2254d0a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

pypandoc/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,10 @@ def _classify_pandoc_logging(raw, default_level="WARNING"):
414414

415415
log_msgs = [first.replace('[{}] '.format(level), '')]
416416

417+
if level not in level_map:
418+
level = default_level
419+
420+
417421
for msg in msgs:
418422

419423
search = re.search(r"\[(.*?)\]", msg)

tests.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,19 @@ def test_classify_pandoc_logging_default(self):
334334
self.assertEqual(expected_msgs[i], m)
335335

336336

337+
def test_classify_pandoc_logging_invalid_level(self):
338+
339+
test = ("[WARN] This is some message on\ntwo lines\n"
340+
"[ERROR] This is a second message.")
341+
expected_levels = [30, 40]
342+
expected_msgs = ["This is some message on\ntwo lines",
343+
"This is a second message."]
344+
345+
for i, (l, m) in enumerate(pypandoc._classify_pandoc_logging(test)):
346+
self.assertEqual(expected_levels[i], l)
347+
self.assertEqual(expected_msgs[i], m)
348+
349+
337350
def test_conversion_stderr(self):
338351

339352
# Clear logger handlers

0 commit comments

Comments
 (0)