From e96773c3efb509a3f6add43b2809e2c94dc703de Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Tue, 19 Aug 2014 13:16:21 +0400 Subject: [PATCH] Avoid dups in company drop-down Change-Id: Ia966527636f1024a664c2f33167590a9308e6191 --- stackalytics/dashboard/memory_storage.py | 6 +++--- stackalytics/dashboard/web.py | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/stackalytics/dashboard/memory_storage.py b/stackalytics/dashboard/memory_storage.py index 8d0a5a3a9..8b954b21f 100644 --- a/stackalytics/dashboard/memory_storage.py +++ b/stackalytics/dashboard/memory_storage.py @@ -145,9 +145,9 @@ class CachedMemoryStorage(MemoryStorage): return set() def get_index_keys_by_record_ids(self, index_name, record_ids): - return set([key - for key, value in six.iteritems(self.indexes[index_name]) - if value & record_ids]) + return set(key + for key, value in six.iteritems(self.indexes[index_name]) + if value & record_ids) def get_record_ids(self): return self.records.keys() diff --git a/stackalytics/dashboard/web.py b/stackalytics/dashboard/web.py index fa09b10e1..17822c3f7 100644 --- a/stackalytics/dashboard/web.py +++ b/stackalytics/dashboard/web.py @@ -278,16 +278,16 @@ def get_contribution_json(records, **kwargs): @decorators.record_filter(ignore=['company']) def get_companies_json(record_ids, **kwargs): memory_storage = vault.get_memory_storage() - companies = memory_storage.get_index_keys_by_record_ids( - 'company_name', record_ids) - if kwargs['_params']['company']: - companies.add(kwargs['_params']['company'][0]) + companies = set(memory_storage.get_original_company_name(company) + for company in memory_storage.get_index_keys_by_record_ids( + 'company_name', record_ids)) - result = [memory_storage.get_original_company_name(company) - for company in companies] + if kwargs['_params']['company']: + companies.add(memory_storage.get_original_company_name( + kwargs['_params']['company'][0])) return [{'id': utils.safe_encode(c.lower()), 'text': c} - for c in sorted(result)] + for c in sorted(companies)] @app.route('/api/1.0/modules')