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 -
@ -111,6 +111,12 @@ for flag in ('-v', '--verbose'):
sys.argv.remove(flag)
verbose = True
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 = 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)
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.syncui import gPodderSyncUI # isort:skip
@ -139,14 +149,10 @@ gpodder.prefix = prefix
# This is the command-line UI variant
gpodder.ui.cli = True
gpodder.verbose = verbose
have_ansi = sys.stdout.isatty() and not gpodder.ui.win32
interactive_console = sys.stdin.isatty() and sys.stdout.isatty()
is_single_command = False
log.setup(verbose)
def noop(*args, **kwargs):
pass

View File

@ -99,6 +99,10 @@ def main():
action="store_true", dest="verbose", default=False,
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',
help=_('subscribe to the feed at URL'))
@ -118,7 +122,7 @@ def main():
and xdg_current_desktop in ('unity', 'unity:unity7:ubuntu'))
from gpodder import log
log.setup(options.verbose)
log.setup(options.verbose, options.quiet)
if have_dbus:
# Try to find an already-running instance of gPodder

View File

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

View File

@ -34,14 +34,15 @@ import gpodder
logger = logging.getLogger(__name__)
def setup(verbose=True):
def setup(verbose=True, quiet=False):
# mark verbose mode
gpodder.verbose = verbose
gpodder.quiet = quiet and not verbose
# Configure basic stdout logging
STDOUT_FMT = '%(created)f [%(name)s] %(levelname)s: %(message)s'
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
original_excepthook = sys.excepthook