Source code for postgres_metrics.templatetags.postgres_metrics

from django import template

from ..metrics import registry as metrics_registry

register = template.Library()


[docs]@register.simple_tag def get_postgres_metrics(): """ Return an iterable over all registered metrics, sorted by their label. See :class:`MetricRegistry.sorted <postgres_metrics.metrics.MetricRegistry.sorted>` for details. """ return metrics_registry.sorted
[docs]@register.simple_tag(takes_context=True) def record_style(context): """ Return the style to be usd for the metric's current record. This expects a template context variable ``'metric'`` referring to the metric instance in question, as well as a context variable ``'record'`` containing the current record to be used for style determination. This template tag calls into :class:`Metric.get_record_style <postgres_metrics.metrics.Metric.get_record_style>` and will---if a return value was specified---prefix that one with ``'pgm-'``. """ metric = context['metric'] record = context['record'] style = metric.get_record_style(record) if style: return 'pgm-%s' % style return ''
[docs]@register.simple_tag(takes_context=True) def record_item_style(context): """ Return the style to be usd for the metric's current record specific item. Like the :func:`record_style` template tag, this expects a template context variable ``'metric'`` referring to the metric instance in question, as well as a context variable ``'record'`` containing the current record. Furthermore, the ``'forloop.counter0'`` context is expected with the current column index to be styled. This mean, for styling, unline on the SQL column numbering, columns are zero-indexed. This template tag calls into :class:`Metric.get_record_item_style <postgres_metrics.metrics.Metric.get_record_item_style>` and will---if a return value was specified---prefix that one with ``'pgm-'``. """ metric = context['metric'] record = context['record'] index = context['forloop']['counter0'] style = metric.get_record_item_style(record, record[index], index) if style: return 'pgm-%s' % style return ''