diff options
-rw-r--r-- | patchwork/management/commands/parsearchive.py | 26 | ||||
-rw-r--r-- | patchwork/parser.py | 2 | ||||
-rw-r--r-- | patchwork/settings/base.py | 6 |
3 files changed, 26 insertions, 8 deletions
diff --git a/patchwork/management/commands/parsearchive.py b/patchwork/management/commands/parsearchive.py index 96f64fa..90bb6c0 100644 --- a/patchwork/management/commands/parsearchive.py +++ b/patchwork/management/commands/parsearchive.py @@ -37,10 +37,24 @@ class Command(BaseCommand): dropped = 0 errors = 0 + verbosity = int(options['verbosity']) + if not verbosity: + level = logging.CRITICAL + elif verbosity == 1: + level = logging.ERROR + elif verbosity == 2: + level = logging.INFO + else: # verbosity == 3 + level = logging.DEBUG + + if level: + logger.setLevel(level) + logging.getLogger('patchwork.parser').setLevel(level) + # TODO(stephenfin): Support passing via stdin path = args and args[0] or options['infile'] if not os.path.exists(path): - self.stdout.write('Invalid path: %s' % path) + logger.error('Invalid path: %s', path) sys.exit(1) # assume if <infile> is a directory, then we're passing a maildir @@ -65,7 +79,7 @@ class Command(BaseCommand): for m in mbox: pass except AttributeError: - logger.warning('Broken mbox/Maildir, aborting') + logger.error('Broken mbox/Maildir, aborting') return logger.info('Parsing %d mails', count) @@ -81,10 +95,15 @@ class Command(BaseCommand): # somewhere for future reference? errors += 1 - if (i % 10) == 0: + if verbosity < 3 and (i % 10) == 0: self.stdout.write('%06d/%06d\r' % (i, count), ending='') self.stdout.flush() + mbox.close() + + if not verbosity: + return + self.stdout.write( 'Processed %(total)d messages -->\n' ' %(covers)4d cover letters\n' @@ -101,4 +120,3 @@ class Command(BaseCommand): 'errors': errors, 'new': count - dropped - errors, }) - mbox.close() diff --git a/patchwork/parser.py b/patchwork/parser.py index 4ede825..a61669f 100644 --- a/patchwork/parser.py +++ b/patchwork/parser.py @@ -950,7 +950,7 @@ def parse_mail(mail, list_id=None): hint = clean_header(mail.get('X-Patchwork-Hint', '')) if hint and hint.lower() == 'ignore': - logger.debug("Ignoring email due to 'ignore' hint") + logger.info("Ignoring email due to 'ignore' hint") return project = find_project(mail, list_id) diff --git a/patchwork/settings/base.py b/patchwork/settings/base.py index 16ca712..3eb1f0e 100644 --- a/patchwork/settings/base.py +++ b/patchwork/settings/base.py @@ -177,17 +177,17 @@ LOGGING = { 'loggers': { 'django': { 'handlers': ['console'], - 'level': 'INFO', + 'level': 'WARNING', 'propagate': True, }, 'patchwork.parser': { 'handlers': ['console'], - 'level': 'DEBUG', + 'level': 'WARNING', 'propagate': False, }, 'patchwork.management.commands': { 'handlers': ['console', 'mail_admins'], - 'level': 'INFO', + 'level': 'WARNING', 'propagate': True, }, }, |