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.