From 0ebe272457b9321af69edb5436ae27923c6f3e08 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Fri, 16 Aug 2013 17:40:18 +0400 Subject: [PATCH] Commits from robots are filtered out After adding of openstack.org company all robots started to match to OpenStack Foundation. The special check is added to ignore commits from robots. Closes bug 1213078 Change-Id: I8292598f4e5767545c1e612165511c4ccf056668 --- etc/default_data.json | 4 +++- etc/test_default_data.json | 17 +++++++++++++++++ stackalytics/processor/record_processor.py | 14 ++++++++++---- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/etc/default_data.json b/etc/default_data.json index f372c6778..b95425a94 100644 --- a/etc/default_data.json +++ b/etc/default_data.json @@ -1991,7 +1991,9 @@ } ], "user_name": "OpenStack Robot", - "emails": ["review@openstack.org", "jenkins@review.openstack.org", "jenkins@openstack.org", "hudson@openstack.org", "openstack-infra@lists.openstack.org"] + "emails": ["review@openstack.org", "jenkins@review.openstack.org", + "jenkins@openstack.org", "hudson@openstack.org", + "openstack-infra@lists.openstack.org", "elastic-hadoop-ci@mirantis.com"] }, { "launchpad_id": "p-draigbrady", diff --git a/etc/test_default_data.json b/etc/test_default_data.json index 57778b5d1..164ab9e78 100644 --- a/etc/test_default_data.json +++ b/etc/test_default_data.json @@ -14,6 +14,19 @@ "end_date": null } ] + }, + { + "launchpad_id": "openstack", + "companies": [ + { + "company_name": "*robots", + "end_date": null + } + ], + "user_name": "OpenStack Robot", + "emails": ["review@openstack.org", "jenkins@review.openstack.org", + "jenkins@openstack.org", "hudson@openstack.org", + "openstack-infra@lists.openstack.org", "elastic-hadoop-ci@mirantis.com"] } ], @@ -33,6 +46,10 @@ { "company_name": "Intel", "domains": ["intel.com"] + }, + { + "domains": ["openstack.org"], + "company_name": "OpenStack Foundation" } ], diff --git a/stackalytics/processor/record_processor.py b/stackalytics/processor/record_processor.py index d3d7428d4..2494af5b4 100644 --- a/stackalytics/processor/record_processor.py +++ b/stackalytics/processor/record_processor.py @@ -125,9 +125,14 @@ class RecordProcessor(object): record['user_id'] = user['user_id'] - company = self._get_company_by_email(email) - if not company: - company = self._find_company(user['companies'], record['date']) + company_by_user = self._find_company(user['companies'], record['date']) + if company_by_user == '*robots': + # don't map robots by email + company = company_by_user + else: + company = self._get_company_by_email(email) + if not company: + company = company_by_user record['company_name'] = company if ('user_name' in user) and (user['user_name']): @@ -157,7 +162,8 @@ class RecordProcessor(object): self._update_record_and_user(review) - yield review + if record['company_name'] != '*robots': + yield review def _spawn_marks(self, record): review_id = record['id']