From 92e01f8e6ad162936f5efcd780c61c615253ae30 Mon Sep 17 00:00:00 2001 From: Dave Dash Date: Fri, 4 Mar 2011 12:51:03 -0800 Subject: [PATCH] Fixing search to work with recent changes. --- apps/jetpack/models.py | 34 ++++++++++++++++++---------------- apps/search/tests.py | 8 ++++---- apps/search/utils.py | 2 +- settings_test.py | 1 + 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/apps/jetpack/models.py b/apps/jetpack/models.py index 0a775c99..6d805963 100644 --- a/apps/jetpack/models.py +++ b/apps/jetpack/models.py @@ -343,23 +343,7 @@ def save_new_revision(self, package=None, **kwargs): self.set_version('copy') return save_return - @es_required - def refresh_index(self, es, bulk=False): - data = djangoutils.get_values(self) - try: - if self.latest: - deps = self.latest.dependencies.all() - data['dependencies'] = [dep.package.id for dep in deps] - except PackageRevision.DoesNotExist: - pass - es.index(data, settings.ES_INDEX, self.get_type_name(), self.id, - bulk=bulk) - log.debug('Package %d added to search index.' % self.id) - @es_required - def remove_from_index(self, es): - es.delete(settings.ES_INDEX, self.get_type_name(), self.id) - log.debug('Package %d removed from search index.' % self.id) def get_next_revision_number(self): """ @@ -1256,6 +1240,24 @@ def clean(self): if self.version_name: self.version_name = alphanum_plus(self.version_name) + @es_required + def refresh_index(self, es, bulk=False): + data = djangoutils.get_values(self) + try: + if self.latest: + deps = self.latest.dependencies.all() + data['dependencies'] = [dep.package.id for dep in deps] + except PackageRevision.DoesNotExist: + pass + es.index(data, settings.ES_INDEX, self.get_type_name(), self.id, + bulk=bulk) + log.debug('Package %d added to search index.' % self.id) + + @es_required + def remove_from_index(self, es): + es.delete(settings.ES_INDEX, self.get_type_name(), self.id) + log.debug('Package %d removed from search index.' % self.id) + class Module(BaseModel): """ diff --git a/apps/search/tests.py b/apps/search/tests.py index 9a3d8e8c..73d2771c 100644 --- a/apps/search/tests.py +++ b/apps/search/tests.py @@ -20,7 +20,7 @@ def create_library(name): def create_package(name, type): u = User.objects.get(username='john') - return Package.objects.create(name=name, author=u, type=type) + return Package.objects.create(full_name=name, author=u, type=type) # TODO: liberate - this can go in either test_utils or a separate library. @@ -30,10 +30,10 @@ class ESTestCase(test_utils.TestCase): """ @classmethod def setUpClass(cls): - cls.old_ES_DISABLED = settings.ES_DISABLED - settings.ES_DISABLED = False if not hasattr(settings, 'ES_BIN'): raise SkipTest + cls.old_ES_DISABLED = settings.ES_DISABLED + settings.__dict__['ES_DISABLED'] = False cls.es = get_es() cls.es.delete_index_if_exists(settings.ES_INDEX) @@ -43,7 +43,7 @@ def tearDown(self): @classmethod def tearDownClass(cls): - settings.ES_DISABLED = cls.old_ES_DISABLED + settings.__dict__['ES_DISABLED'] = cls.old_ES_DISABLED class TestSearch(ESTestCase): diff --git a/apps/search/utils.py b/apps/search/utils.py index f5021c3b..62c1c2a7 100644 --- a/apps/search/utils.py +++ b/apps/search/utils.py @@ -9,5 +9,5 @@ def get_es(): """Return one es object.""" global _es if not _es: - _es = ES(settings.ES_HOSTS, default_indexes=[settings.ES_INDEX]) + _es = ES(settings.ES_HOSTS, default_indexes=[settings.ES_INDEX], dump_curl="/tmp/t") return _es diff --git a/settings_test.py b/settings_test.py index c2bba850..32ad5a04 100644 --- a/settings_test.py +++ b/settings_test.py @@ -1 +1,2 @@ ES_INDEX = 'test_flightdeck' +ES_DISABLED = True # Do not run ES for tests unless you have to.