コード例 #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
コード例 #2
0
ファイル: views.py プロジェクト: rossjones/udata
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()
        ),
    )
コード例 #3
0
ファイル: catalog.py プロジェクト: rossjones/udata
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()
コード例 #4
0
ファイル: metrics.py プロジェクト: grouan/udata
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()
コード例 #5
0
ファイル: adapter.py プロジェクト: odtvince/udata
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)
コード例 #6
0
ファイル: metrics.py プロジェクト: pombredanne/udata
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()
コード例 #7
0
ファイル: tasks.py プロジェクト: rossjones/udata
def update_site_metrics():
    from udata.core.metrics import Metric
    metrics = Metric.get_for('site')
    for metric in metrics.values():
        metric.update()
コード例 #8
0
ファイル: tasks.py プロジェクト: rossjones/udata
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()
コード例 #9
0
ファイル: metrics.py プロジェクト: anukat2015/udata
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()
コード例 #10
0
ファイル: csv.py プロジェクト: vinyll/udata
def metric_fields(cls):
    return [("metric.{0}".format(key), _metric_getter(key, spec)) for key, spec in Metric.get_for(cls).items()]
コード例 #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()
コード例 #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()
コード例 #13
0
ファイル: test_metrics.py プロジェクト: rossjones/udata
 def test_get_for(self):
     """All metrics should be registered"""
     self.assertEqual(Metric.get_for(FakeModel), {"fake": FakeMetric})
コード例 #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
コード例 #15
0
ファイル: metrics.py プロジェクト: anukat2015/udata
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()
コード例 #16
0
ファイル: test_metrics.py プロジェクト: opendatateam/udata
 def test_get_for(self):
     '''All metrics should be registered'''
     metrics = Metric.get_for(FakeModel)
     assert 'fake' in metrics
     assert metrics['fake'] is FakeMetric
コード例 #17
0
ファイル: csv.py プロジェクト: simudream/udata
def metric_fields(cls):
    return [('metric.{0}'.format(key), _metric_getter(key, spec))
            for key, spec in Metric.get_for(cls).items()]
コード例 #18
0
ファイル: adapter.py プロジェクト: amagovpt/udata
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)
コード例 #19
0
ファイル: metrics.py プロジェクト: mayjolux/udata
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()
コード例 #20
0
 def test_get_for(self):
     '''All metrics should be registered'''
     self.assertEqual(Metric.get_for(FakeModel), {
         'fake': FakeMetric,
     })