예제 #1
0
def test_setup_logging_debug_loggers(capsys, creation_time):
    """Ensure debug loggers are created with the debug level and log debug messages.

    Creation time defines if the debug logger is created before setting up logging
    (usual case) or afterwards (the case for lazy imported modules).
    """
    name = "my.module.logger"
    if creation_time == "before":
        module_logger = log.module_logger(name)
    log.setup_logging(logging.WARNING, name)
    if creation_time == "after":
        module_logger = log.module_logger(name)

    message = "Show this debug statement"
    module_logger.debug(message)
    captured = capsys.readouterr()

    assert module_logger.level == logging.DEBUG
    assert message in captured.err
예제 #2
0
def test_module_logger_level_after_setup(capsys, level):
    """Ensure module loggers are created with global app level."""
    log.setup_logging(level)
    module_logger = log.module_logger("my.module.logger")

    message = "Show this debug statement"
    module_logger.log(level, message)
    captured = capsys.readouterr()

    assert module_logger.level == level
    assert message in captured.err
예제 #3
0
def test_log_once(capsys, setup_logging):
    """Ensure we only log a message once when using the once keyword."""
    logger = log.module_logger("test_log")
    message = "Show this message once"

    logger.error(message, once=True)
    logger.error(message, once=True)
    captured = capsys.readouterr()
    matches = re.findall(message, captured.err)

    assert len(matches) == 1
예제 #4
0
"""

import os
import random
from typing import List, Iterable, Optional

from PyQt5.QtCore import QObject, pyqtSlot

from vimiv import api, utils, imutils
from vimiv.commands import search, number_for_command
from vimiv.imutils import slideshow
from vimiv.utils import files, log

_paths: List[str] = []
_index = 0
_logger = log.module_logger(__name__)


# We want to use the name next here as it is the best name for the command
@api.keybindings.register("<ctrl>n", "next --keep-zoom", mode=api.modes.IMAGE)
@api.keybindings.register(["n", "<page-down>"], "next", mode=api.modes.IMAGE)
@api.commands.register(name="next")
def next_path(count: int = 1, keep_zoom: bool = False) -> None:
    """Select next image.

    **syntax:** ``:next [--keep-zoom]``

    optional arguments:
        * ``--keep-zoom``: Keep zoom level and scroll position of the current image.

    **count:** multiplier
예제 #5
0
def test_module_logger_name(name):
    expected = name.replace("vimiv.", "")
    logger = log.module_logger(name)
    assert logger._name == expected