From 79172191e82ea31ce1bb4f335175e3a31a71f4ff Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Thu, 12 Sep 2013 19:39:04 +0400 Subject: [PATCH] Implemented mailing list processing * 'email' metric is introduced Implements blueprint mailing-list-analysis Change-Id: Ie3e2215aa661a4fd8035de037ce0ff1e6ab64d4e --- dashboard/memory_storage.py | 10 +- dashboard/templates/overview.html | 27 ++++ dashboard/web.py | 106 ++++++------- etc/default_data.json | 35 ++++- etc/default_data.schema.json | 11 +- etc/test_default_data.json | 4 +- .../processor/default_data_processor.py | 15 +- stackalytics/processor/main.py | 35 +++-- stackalytics/processor/mls.py | 139 ++++++++++++++++++ stackalytics/processor/normalizer.py | 3 +- stackalytics/processor/record_processor.py | 54 ++++++- stackalytics/processor/utils.py | 9 ++ stackalytics/processor/vcs.py | 19 ++- tests/unit/test_mls.py | 59 ++++++++ tests/unit/test_record_processor.py | 98 +++++++++++- tests/unit/test_utils.py | 8 + tests/unit/test_vcs.py | 8 +- 17 files changed, 528 insertions(+), 112 deletions(-) create mode 100644 stackalytics/processor/mls.py create mode 100644 tests/unit/test_mls.py diff --git a/dashboard/memory_storage.py b/dashboard/memory_storage.py index 30a51c4c5..c6e42437e 100644 --- a/dashboard/memory_storage.py +++ b/dashboard/memory_storage.py @@ -103,14 +103,8 @@ class CachedMemoryStorage(MemoryStorage): def get_record_ids(self): return self.records.keys() - def get_commit_ids(self): - return self.record_types_index['commit'] - - def get_review_ids(self): - return self.record_types_index['review'] - - def get_mark_ids(self): - return self.record_types_index['mark'] + def get_record_ids_by_type(self, record_type): + return self.record_types_index.get(record_type, set()) def get_records(self, record_ids): for i in record_ids: diff --git a/dashboard/templates/overview.html b/dashboard/templates/overview.html index f3d49c119..4c37b9be2 100644 --- a/dashboard/templates/overview.html +++ b/dashboard/templates/overview.html @@ -44,6 +44,8 @@ } {% if metric == 'marks' %} $("#review_activity_template").tmpl(data["activity"]).appendTo("#activity_container"); + {% elif metric == 'emails' %} + $("#email_activity_template").tmpl(data["activity"]).appendTo("#activity_container"); {% else %} $("#commit_activity_template").tmpl(data["activity"]).appendTo("#activity_container"); {% endif %} @@ -128,6 +130,30 @@ {% endraw %} + + +