Ejemplo n.º 1
0
def metrics_mapping(cls):
    mapping = {
        'type': 'object',
        'index_name': 'metrics',
        'properties': {}
    }
    for name, metric in Metric.get_for(cls).items():
        mapping['properties'][metric.name] = {'type': metrics_types[metric.value_type]}
    return mapping
Ejemplo n.º 2
0
def metrics():
    metrics = Metrics.objects.last_for("site")
    specs = Metric.get_for("site")
    values = metrics.values if metrics else {}
    return render(
        "metrics.html",
        metrics=dict(
            (key, {"value": values.get(key, spec.default), "label": spec.display_name}) for key, spec in specs.items()
        ),
    )
Ejemplo n.º 3
0
def yield_csv_catalog(datasets):
    '''Yield a dataset catalog line by line'''
    csvfile = StringIO.StringIO()
    writer = unicodecsv.writer(csvfile, encoding='utf-8', delimiter=b',', quotechar=b'"')
    # Generate header
    specs = Metric.get_for(Dataset)
    writer.writerow(header(specs))
    yield csvfile.getvalue()

    for dataset in datasets:
        csvfile = StringIO.StringIO()
        writer = unicodecsv.writer(csvfile, encoding='utf-8', delimiter=b',', quotechar=b'"')
        writer.writerow(to_row(dataset, specs))
        yield csvfile.getvalue()
Ejemplo n.º 4
0
def update_discussions_metric(discussion, **kwargs):
    model = discussion.subject.__class__
    for name, cls in Metric.get_for(model).items():
        if issubclass(cls, DiscussionsMetric):
            cls(target=discussion.subject).trigger_update()
Ejemplo n.º 5
0
def metrics_mapping_for(cls):
    props = {}
    for name, metric in Metric.get_for(cls).items():
        props[metric.name] = metrics_types[metric.value_type]()
    return Object(properties=props)
Ejemplo n.º 6
0
def update_issues_metric(issue):
    model = issue.subject.__class__
    for name, cls in Metric.get_for(model).items():
        if issubclass(cls, IssuesMetric):
            cls(target=issue.subject).trigger_update()
Ejemplo n.º 7
0
def update_site_metrics():
    from udata.core.metrics import Metric
    metrics = Metric.get_for('site')
    for metric in metrics.values():
        metric.update()
Ejemplo n.º 8
0
def update_metrics_for(obj):
    from udata.core.metrics import Metric
    metrics = Metric.get_for(obj.__class__)
    for metric in metrics.values():
        metric(obj).compute()
Ejemplo n.º 9
0
def update_discussions_metric(discussion, **kwargs):
    model = discussion.subject.__class__
    for name, cls in Metric.get_for(model).items():
        if issubclass(cls, DiscussionsMetric):
            cls(target=discussion.subject).trigger_update()
Ejemplo n.º 10
0
Archivo: csv.py Proyecto: vinyll/udata
def metric_fields(cls):
    return [("metric.{0}".format(key), _metric_getter(key, spec)) for key, spec in Metric.get_for(cls).items()]
Ejemplo n.º 11
0
def update_site_metrics():
    from udata.core.metrics import Metric
    from udata.models import Site
    metrics = Metric.get_for(Site)
    for metric in metrics.values():
        metric.update()
Ejemplo n.º 12
0
def update_metrics_for(obj):
    from udata.core.metrics import Metric
    metrics = Metric.get_for(obj.__class__)
    for metric in metrics.values():
        metric(obj).compute()
Ejemplo n.º 13
0
 def test_get_for(self):
     """All metrics should be registered"""
     self.assertEqual(Metric.get_for(FakeModel), {"fake": FakeMetric})
Ejemplo n.º 14
0
 def test_get_for(self):
     '''All metrics should be registered'''
     metrics = Metric.get_for(FakeModel)
     assert 'fake' in metrics
     assert metrics['fake'] is FakeMetric
Ejemplo n.º 15
0
def update_badges_metric(badge, **kwargs):
    model = badge.subject.__class__
    for name, cls in Metric.get_for(model).items():
        if issubclass(cls, BadgesMetric):
            cls(target=badge.subject).trigger_update()
Ejemplo n.º 16
0
 def test_get_for(self):
     '''All metrics should be registered'''
     metrics = Metric.get_for(FakeModel)
     assert 'fake' in metrics
     assert metrics['fake'] is FakeMetric
Ejemplo n.º 17
0
def metric_fields(cls):
    return [('metric.{0}'.format(key), _metric_getter(key, spec))
            for key, spec in Metric.get_for(cls).items()]
Ejemplo n.º 18
0
def metrics_mapping_for(cls):
    props = {}
    for name, metric in Metric.get_for(cls).items():
        props[metric.name] = metrics_types[metric.value_type]()
    return Object(properties=props)
Ejemplo n.º 19
0
def update_issues_metric(issue, **kwargs):
    model = issue.subject.__class__
    for name, cls in Metric.get_for(model).items():
        if issubclass(cls, IssuesMetric):
            cls(target=issue.subject).trigger_update()
Ejemplo n.º 20
0
 def test_get_for(self):
     '''All metrics should be registered'''
     self.assertEqual(Metric.get_for(FakeModel), {
         'fake': FakeMetric,
     })