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/panels') 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 From d1b5f1d67d56adc0858c6954df794fb988e5c103 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Mon, 5 Mar 2012 17:17:22 +0100 Subject: Use i18n for the cache and SQL panels. --- debug_toolbar/panels/cache.py | 11 +++++++++-- debug_toolbar/panels/sql.py | 8 ++------ 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'debug_toolbar/panels') diff --git a/debug_toolbar/panels/cache.py b/debug_toolbar/panels/cache.py index ace343b..1656932 100644 --- a/debug_toolbar/panels/cache.py +++ b/debug_toolbar/panels/cache.py @@ -3,7 +3,7 @@ import inspect from django.core import cache from django.core.cache.backends.base import BaseCache -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext_lazy as _, ungettext from debug_toolbar.panels import DebugPanel @@ -89,7 +89,14 @@ class CacheDebugPanel(DebugPanel): cache.cache = self.cache def nav_title(self): - return _('Cache: %.2fms') % self.cache.total_time + return _('Cache') + + def nav_subtitle(self): + cache_calls = len(self.cache.calls) + return ungettext('%(cache_calls)d call in %(time).2fms', + '%(cache_calls)d calls in %(time).2fms', + cache_calls) % {'cache_calls': cache_calls, + 'time': self.cache.total_time} def title(self): return _('Cache Usage') diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py index b05eefe..f4edcb3 100644 --- a/debug_toolbar/panels/sql.py +++ b/debug_toolbar/panels/sql.py @@ -121,12 +121,8 @@ class SQLDebugPanel(DebugPanel): return _('SQL') def nav_subtitle(self): - # TODO l10n: use ngettext - return "%d %s in %.2fms" % ( - self._num_queries, - (self._num_queries == 1) and 'query' or 'queries', - self._sql_time - ) + return __("%d query in %.2fms", "%d queries in %.2fms", + self._num_queries) % (self._num_queries, self._sql_time) def title(self): count = len(self._databases) -- cgit v1.2.3 From 6f2df17d3600f2ef45c2b79140c14886569f326d Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Mon, 5 Mar 2012 17:56:25 +0100 Subject: Added i18n to the Signals panel. --- debug_toolbar/panels/signals.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'debug_toolbar/panels') diff --git a/debug_toolbar/panels/signals.py b/debug_toolbar/panels/signals.py index b7dbffe..2d38b1f 100644 --- a/debug_toolbar/panels/signals.py +++ b/debug_toolbar/panels/signals.py @@ -1,17 +1,17 @@ import sys from django.conf import settings -from django.core.signals import request_started, request_finished, \ - got_request_exception -from django.db.models.signals import class_prepared, pre_init, post_init, \ - pre_save, post_save, pre_delete, post_delete, post_syncdb +from django.core.signals import (request_started, request_finished, + got_request_exception) +from django.db.models.signals import (class_prepared, pre_init, post_init, + pre_save, post_save, pre_delete, post_delete, post_syncdb) from django.dispatch.dispatcher import WEAKREF_TYPES -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext_lazy as _, ungettext try: from django.db.backends.signals import connection_created except ImportError: - connection_created = None + connection_created = None # noqa from debug_toolbar.panels import DebugPanel @@ -43,12 +43,16 @@ class SignalDebugPanel(DebugPanel): signals = self.get_stats()['signals'] num_receivers = sum(len(s[2]) for s in signals) num_signals = len(signals) - return '%d %s from %d %s' % ( - num_receivers, - (num_receivers == 1) and 'receiver' or 'receivers', - num_signals, - (num_signals == 1) and 'signal' or 'signals', - ) + # here we have to handle a double count translation, hence the + # hard coding of one signal + if num_signals == 1: + return ungettext('%(num_receivers)d receiver of 1 signal', + '%(num_receivers)d receivers of 1 signal', + num_receivers) % {'num_receivers': num_receivers} + return ungettext('%(num_receivers)d receiver of %(num_signals)d signals', + '%(num_receivers)d receivers of %(num_signals)d signals', + num_receivers) % {'num_receivers': num_receivers, + 'num_signals': num_signals} def title(self): return _("Signals") -- cgit v1.2.3