From b9d06ce26ed8090f75f5864f60d9ae85f9118cad Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Mon, 5 Mar 2012 17:16:25 +0100 Subject: Fixed the number of logging records and use i18n for it. --- debug_toolbar/panels/logger.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'debug_toolbar') diff --git a/debug_toolbar/panels/logger.py b/debug_toolbar/panels/logger.py index e894b50..816e718 100644 --- a/debug_toolbar/panels/logger.py +++ b/debug_toolbar/panels/logger.py @@ -4,15 +4,15 @@ try: import threading except ImportError: threading = None -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ungettext, ugettext_lazy as _ from debug_toolbar.panels import DebugPanel class LogCollector(object): def __init__(self): if threading is None: - raise NotImplementedError("threading module is not available, \ - the logging panel cannot be used without it") + raise NotImplementedError("threading module is not available, " + "the logging panel cannot be used without it") self.records = {} # a dictionary that maps threads to log records def add_record(self, record, thread=None): @@ -96,6 +96,10 @@ class LoggingPanel(DebugPanel): template = 'debug_toolbar/panels/logger.html' has_content = True + def __init__(self, *args, **kwargs): + super(LoggingPanel, self).__init__(*args, **kwargs) + self._records = {} + def process_request(self, request): collector.clear_records() @@ -105,6 +109,7 @@ class LoggingPanel(DebugPanel): def get_and_delete(self): records = collector.get_records() + self._records[threading.currentThread()] = records collector.clear_records() return records @@ -112,8 +117,10 @@ class LoggingPanel(DebugPanel): return _("Logging") def nav_subtitle(self): - # FIXME l10n: use ngettext - return "%s message%s" % (len(collector.get_records()), (len(collector.get_records()) == 1) and '' or 's') + records = self._records[threading.currentThread()] + record_count = len(records) + return ungettext('%(count)s message', '%(count)s messages', + record_count) % {'count': record_count} def title(self): return _('Log Messages') -- cgit v1.2.3