mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-18 13:14:37 +03:00
Replace Callable with log_level
This allows the caller to pass a log level to the suggestions printer, rather than a Callable.
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
import itertools
|
||||
import logging
|
||||
import operator
|
||||
import posixpath
|
||||
import random
|
||||
@@ -717,11 +718,12 @@ def suggested_follow_up(meta: MetadataFactory) -> List[str]:
|
||||
return msg
|
||||
|
||||
|
||||
def show_suggestion(suggestions: List[str], printer: Callable[[str], None]):
|
||||
def log_suggested_follow_up(suggestions: List[str], log_level: int):
|
||||
if suggestions:
|
||||
printer("=" * 30 + "Suggested follow-up:" + "=" * 30)
|
||||
logger = getLogger("aqt.metadata")
|
||||
logger.log(log_level, "=" * 30 + "Suggested follow-up:" + "=" * 30)
|
||||
for suggestion in suggestions:
|
||||
printer("* " + suggestion)
|
||||
logger.log(log_level, "* " + suggestion)
|
||||
|
||||
|
||||
def show_list(meta: MetadataFactory) -> int:
|
||||
@@ -730,7 +732,7 @@ def show_list(meta: MetadataFactory) -> int:
|
||||
output = meta.getList()
|
||||
if not output:
|
||||
logger.info("No {} available for this request.".format(meta.request_type))
|
||||
show_suggestion(suggested_follow_up(meta), logger.info)
|
||||
log_suggested_follow_up(suggested_follow_up(meta), logging.INFO)
|
||||
return 1
|
||||
if isinstance(output, Versions):
|
||||
print(format(output))
|
||||
@@ -752,5 +754,5 @@ def show_list(meta: MetadataFactory) -> int:
|
||||
return 1
|
||||
except (ArchiveConnectionError, ArchiveDownloadError) as e:
|
||||
logger.error("{}".format(e))
|
||||
show_suggestion(suggested_follow_up(meta), logger.error)
|
||||
log_suggested_follow_up(suggested_follow_up(meta), logging.ERROR)
|
||||
return 1
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import json
|
||||
import logging
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
@@ -6,6 +7,7 @@ from typing import Generator
|
||||
|
||||
import pytest
|
||||
|
||||
from aqt.helper import setup_logging
|
||||
from aqt.installer import Cli
|
||||
from aqt.metadata import (
|
||||
ArchiveId,
|
||||
@@ -13,7 +15,7 @@ from aqt.metadata import (
|
||||
SimpleSpec,
|
||||
Version,
|
||||
Versions,
|
||||
show_suggestion,
|
||||
log_suggested_follow_up,
|
||||
suggested_follow_up,
|
||||
)
|
||||
|
||||
@@ -457,21 +459,17 @@ def test_suggested_follow_up(meta: MetadataFactory, expected_message: str):
|
||||
assert suggested_follow_up(meta) == expected_message
|
||||
|
||||
|
||||
def test_show_suggestion():
|
||||
def test_log_suggested_follow_up(caplog, monkeypatch):
|
||||
suggestions = [
|
||||
"Please use 'aqt list tools mac desktop --extensions <QT_VERSION>' to list valid extensions.",
|
||||
"Please use 'aqt list tools mac desktop' to check what tools are available.",
|
||||
]
|
||||
expected = (
|
||||
"==============================Suggested follow-up:==============================\n"
|
||||
"* Please use 'aqt list tools mac desktop --extensions <QT_VERSION>' to list valid extensions.\n"
|
||||
"* Please use 'aqt list tools mac desktop' to check what tools are available.\n"
|
||||
)
|
||||
expected = [
|
||||
"==============================Suggested follow-up:==============================",
|
||||
"* Please use 'aqt list tools mac desktop --extensions <QT_VERSION>' to list valid extensions.",
|
||||
"* Please use 'aqt list tools mac desktop' to check what tools are available.",
|
||||
]
|
||||
|
||||
output = [""]
|
||||
|
||||
def outputter(msg: str) -> None:
|
||||
output[0] = output[0] + msg + "\n"
|
||||
|
||||
show_suggestion(suggestions, outputter)
|
||||
assert output[0] == expected
|
||||
log_suggested_follow_up(suggestions, logging.ERROR)
|
||||
actual = [rec.message for rec in caplog.records]
|
||||
assert actual == expected
|
||||
|
||||
Reference in New Issue
Block a user