mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-24 00:26:08 +00:00
Improve consistency between -d command-line arg and log view verbosity
- if user set verbosity to debug in log view, keep this setting on next start - if -d is passed on command line, set verbosity to debug only until exit, but if the user switches it in log view - set default log level to warning - save verbosity to config option "log_verbosity"
This commit is contained in:
@@ -29,7 +29,7 @@ from PyQt5 import QtCore
|
||||
|
||||
_MAX_TAIL_LEN = 10**6
|
||||
|
||||
VERBOSITY_DEFAULT = logging.INFO
|
||||
VERBOSITY_DEFAULT = logging.WARNING
|
||||
|
||||
|
||||
def debug_mode(enabled):
|
||||
|
||||
@@ -26,6 +26,7 @@ sip.setapi("QVariant", 2)
|
||||
from PyQt5 import QtGui, QtCore, QtWidgets
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import os.path
|
||||
import platform
|
||||
import re
|
||||
@@ -99,6 +100,8 @@ class Tagger(QtWidgets.QApplication):
|
||||
|
||||
__instance = None
|
||||
|
||||
_debug = False
|
||||
|
||||
def __init__(self, picard_args, unparsed_args, localedir, autoupdate):
|
||||
|
||||
# Use the new fusion style from PyQt5 for a modern and consistent look
|
||||
@@ -117,7 +120,12 @@ class Tagger(QtWidgets.QApplication):
|
||||
|
||||
self._cmdline_files = picard_args.FILE
|
||||
self._autoupdate = autoupdate
|
||||
self._debug = False
|
||||
|
||||
self.debug(
|
||||
picard_args.debug
|
||||
or "PICARD_DEBUG" in os.environ
|
||||
or config.setting['log_verbosity'] == logging.DEBUG
|
||||
)
|
||||
|
||||
# FIXME: Figure out what's wrong with QThreadPool.globalInstance().
|
||||
# It's a valid reference, but its start() method doesn't work.
|
||||
@@ -152,7 +160,6 @@ class Tagger(QtWidgets.QApplication):
|
||||
signal.signal(signal.SIGTERM, self.signal)
|
||||
|
||||
# Setup logging
|
||||
self.debug(picard_args.debug or "PICARD_DEBUG" in os.environ)
|
||||
log.debug("Starting Picard from %r", os.path.abspath(__file__))
|
||||
log.debug("Platform: %s %s %s", platform.platform(),
|
||||
platform.python_implementation(), platform.python_version())
|
||||
|
||||
@@ -144,13 +144,13 @@ class LogView(LogViewCommon):
|
||||
config.Option("persist", "logview_position", QtCore.QPoint()),
|
||||
config.Option("persist", "logview_size", QtCore.QSize(
|
||||
LogViewCommon.WIDTH, LogViewCommon.HEIGHT)),
|
||||
config.Option("persist", "logview_verbosity", log.VERBOSITY_DEFAULT),
|
||||
config.IntOption("setting", "log_verbosity", log.VERBOSITY_DEFAULT),
|
||||
]
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(log.main_tail, _("Log"), w=self.WIDTH,
|
||||
h=self.HEIGHT, parent=parent)
|
||||
self.verbosity = config.persist['logview_verbosity']
|
||||
self.verbosity = config.setting['log_verbosity']
|
||||
self.restoreWindowState("logview_position", "logview_size")
|
||||
|
||||
self._setup_formats()
|
||||
@@ -296,12 +296,12 @@ class LogView(LogViewCommon):
|
||||
self.verbosity_menu.set_verbosity(self.verbosity)
|
||||
|
||||
def closeEvent(self, event):
|
||||
config.persist['logview_verbosity'] = self.verbosity
|
||||
self.saveWindowState("logview_position", "logview_size")
|
||||
super().closeEvent(event)
|
||||
|
||||
def _verbosity_changed(self, level):
|
||||
if level != self.verbosity:
|
||||
config.setting['log_verbosity'] = level
|
||||
QtCore.QObject.tagger.debug(level == logging.DEBUG)
|
||||
self.verbosity = level
|
||||
self.display(clear=True)
|
||||
|
||||
Reference in New Issue
Block a user