add quiet flag to eliminate warnings from console

This commit is contained in:
auouymous 2020-05-07 04:04:18 -06:00
parent f75efeb5a2
commit c844fcc29e
4 changed files with 22 additions and 9 deletions

18
bin/gpo
View File

@ -25,7 +25,7 @@
""" """
Usage: gpo [--verbose|-v] [COMMAND] [params...] Usage: gpo [--verbose|-v|--quiet|-q] [COMMAND] [params...]
- Subscription management - - Subscription management -
@ -111,6 +111,12 @@ for flag in ('-v', '--verbose'):
sys.argv.remove(flag) sys.argv.remove(flag)
verbose = True verbose = True
break break
quiet = False
for flag in ('-q', '--quiet'):
if flag in sys.argv:
sys.argv.remove(flag)
quiet = True
break
gpodder_script = sys.argv[0] gpodder_script = sys.argv[0]
gpodder_script = os.path.realpath(gpodder_script) gpodder_script = os.path.realpath(gpodder_script)
@ -126,7 +132,11 @@ if os.path.exists(os.path.join(src_dir, 'gpodder', '__init__.py')):
sys.path.insert(0, src_dir) sys.path.insert(0, src_dir)
import gpodder # isort:skip import gpodder # isort:skip
from gpodder import common, core, download, feedcore, log, model, my, opml, sync, util, youtube # isort:skip
from gpodder import log # isort:skip
log.setup(verbose, quiet)
from gpodder import common, core, download, feedcore, model, my, opml, sync, util, youtube # isort:skip
from gpodder.config import config_value_to_string # isort:skip from gpodder.config import config_value_to_string # isort:skip
from gpodder.syncui import gPodderSyncUI # isort:skip from gpodder.syncui import gPodderSyncUI # isort:skip
@ -139,14 +149,10 @@ gpodder.prefix = prefix
# This is the command-line UI variant # This is the command-line UI variant
gpodder.ui.cli = True gpodder.ui.cli = True
gpodder.verbose = verbose
have_ansi = sys.stdout.isatty() and not gpodder.ui.win32 have_ansi = sys.stdout.isatty() and not gpodder.ui.win32
interactive_console = sys.stdin.isatty() and sys.stdout.isatty() interactive_console = sys.stdin.isatty() and sys.stdout.isatty()
is_single_command = False is_single_command = False
log.setup(verbose)
def noop(*args, **kwargs): def noop(*args, **kwargs):
pass pass

View File

@ -99,6 +99,10 @@ def main():
action="store_true", dest="verbose", default=False, action="store_true", dest="verbose", default=False,
help=_("print logging output on the console")) help=_("print logging output on the console"))
parser.add_option("-q", "--quiet",
action="store_true", dest="quiet", default=False,
help=_("reduce warnings on the console"))
parser.add_option('-s', '--subscribe', dest='subscribe', metavar='URL', parser.add_option('-s', '--subscribe', dest='subscribe', metavar='URL',
help=_('subscribe to the feed at URL')) help=_('subscribe to the feed at URL'))
@ -118,7 +122,7 @@ def main():
and xdg_current_desktop in ('unity', 'unity:unity7:ubuntu')) and xdg_current_desktop in ('unity', 'unity:unity7:ubuntu'))
from gpodder import log from gpodder import log
log.setup(options.verbose) log.setup(options.verbose, options.quiet)
if have_dbus: if have_dbus:
# Try to find an already-running instance of gPodder # Try to find an already-running instance of gPodder

View File

@ -84,6 +84,8 @@ del sqlite3
# Is gpodder running in verbose mode? # Is gpodder running in verbose mode?
verbose = False verbose = False
# Is gpodder running in quiet mode?
quiet = False
# The User-Agent string for downloads # The User-Agent string for downloads

View File

@ -34,14 +34,15 @@ import gpodder
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def setup(verbose=True): def setup(verbose=True, quiet=False):
# mark verbose mode # mark verbose mode
gpodder.verbose = verbose gpodder.verbose = verbose
gpodder.quiet = quiet and not verbose
# Configure basic stdout logging # Configure basic stdout logging
STDOUT_FMT = '%(created)f [%(name)s] %(levelname)s: %(message)s' STDOUT_FMT = '%(created)f [%(name)s] %(levelname)s: %(message)s'
logging.basicConfig(format=STDOUT_FMT, logging.basicConfig(format=STDOUT_FMT,
level=logging.DEBUG if verbose else logging.WARNING) level=logging.DEBUG if verbose else logging.ERROR if quiet else logging.WARNING)
# Replace except hook with a custom one that logs it as an error # Replace except hook with a custom one that logs it as an error
original_excepthook = sys.excepthook original_excepthook = sys.excepthook