def index_webapps(ids, **kw): # DEPRECATED: call WebappIndexer.index_ids directly. homescreens = set( Webapp.tags.through.objects.filter( webapp_id__in=ids, tag__tag_text='homescreen').values_list('webapp_id', flat=True)) webapps = set(ids) - homescreens if homescreens: HomescreenIndexer.index_ids(list(homescreens), no_delay=True) if webapps: WebappIndexer.index_ids(list(webapps), no_delay=True)
def index_webapps(ids, **kw): # DEPRECATED: call WebappIndexer.index_ids directly. homescreens = set( Webapp.tags.through.objects.filter( webapp_id__in=ids, tag__tag_text='homescreen') .values_list('webapp_id', flat=True)) webapps = set(ids) - homescreens if homescreens: HomescreenIndexer.index_ids(list(homescreens), no_delay=True) if webapps: WebappIndexer.index_ids(list(webapps), no_delay=True)
def make_homescreen(self): self.homescreen = app_factory(name=u'Elegant Waffle', description=u'homescreen runner', created=self.days_ago(5), manifest_url='http://h.testmanifest.com') Tag(tag_text='homescreen').save_tag(self.homescreen) self.homescreen.addondevicetype_set.create( device_type=mkt.DEVICE_GAIA.id) self.homescreen.update(categories=['health-fitness', 'productivity']) self.homescreen.update_version() HomescreenIndexer.index_ids([self.homescreen.pk], no_delay=True) self.refresh(('webapp', 'website', 'extension', 'homescreen')) return self.homescreen
def make_homescreen(self): self.homescreen = app_factory(name=u'Elegant Waffle', description=u'homescreen runner', created=self.days_ago(5), manifest_url='http://h.testmanifest.com') Tag(tag_text='homescreen').save_tag(self.homescreen) self.homescreen.addondevicetype_set.create( device_type=mkt.DEVICE_GAIA.id) self.homescreen.update(categories=['health-fitness', 'productivity']) self.homescreen.update_version() HomescreenIndexer.index_ids([self.homescreen.pk], no_delay=True) self.refresh(('webapp', 'website', 'extension', 'homescreen')) return self.homescreen
def tearDown(self): for o in Webapp.objects.all(): o.delete() for o in Extension.objects.all(): o.delete() super(TestMultiSearchView, self).tearDown() # Make sure to delete and unindex *all* things. Normally we wouldn't # care about stray deleted content staying in the index, but they can # have an impact on relevancy scoring so we need to make sure. This # needs to happen after super() has been called since it'll process the # indexing tasks that should happen post_request, and we need to wait # for ES to have done everything before continuing. Webapp.get_indexer().unindexer(_all=True) Extension.get_indexer().unindexer(_all=True) HomescreenIndexer.unindexer(_all=True) self.refresh(('webapp', 'extension', 'homescreen'))
def test_indexable(self): homescreen = app_factory(name=u'Elegant Waffle', description=u'homescreen runner', created=self.days_ago(5), manifest_url='http://h.testmanifest.com') Tag(tag_text='homescreen').save_tag(homescreen) homescreen.save() q = HomescreenIndexer.get_indexable() eq_(list(q), [homescreen])
def test_indexable(self): homescreen = app_factory(name=u'Elegant Waffle', description=u'homescreen runner', created=self.days_ago(5), manifest_url='http://h.testmanifest.com') Tag(tag_text='homescreen').save_tag(homescreen) homescreen.save() q = HomescreenIndexer.get_indexable() eq_(list(q), [homescreen])
def get_homescreen_queue(self): # Both unreviewed homescreens and published homescreens with new # unreviewed versions go in this queue. if self.use_es: must = [ es_filter.Term(**{'latest_version.status': mkt.STATUS_PENDING}), es_filter.Term(is_escalated=False), es_filter.Term(is_disabled=False), ] return HomescreenIndexer.search().filter('bool', must=must) return (Version.objects.filter( files__status=mkt.STATUS_PENDING, addon__disabled_by_user=False, addon__tags__tag_text='homescreen') .exclude(addon__id__in=self.excluded_ids) .order_by('nomination', 'created') .select_related('addon', 'files').no_transforms())
def get_homescreen_queue(self): # Both unreviewed homescreens and published homescreens with new # unreviewed versions go in this queue. if self.use_es: must = [ es_filter.Term(**{'latest_version.status': mkt.STATUS_PENDING}), es_filter.Term(is_escalated=False), es_filter.Term(is_disabled=False), ] return HomescreenIndexer.search().filter('bool', must=must) return (Version.objects.filter( files__status=mkt.STATUS_PENDING, addon__disabled_by_user=False, addon__tags__tag_text='homescreen') .exclude(addon__id__in=self.excluded_ids) .order_by('nomination', 'created') .select_related('addon', 'files').no_transforms())
def test_index(self): with self.settings(ES_INDEXES={'homescreen': 'homescreens'}): eq_(HomescreenIndexer.get_index(), 'homescreens')
def test_mapping(self): mapping = HomescreenIndexer.get_mapping() eq_(mapping.keys(), ['homescreen'])
def test_model(self): eq_(HomescreenIndexer.get_model(), Webapp)
def test_index(self): with self.settings(ES_INDEXES={'homescreen': 'homescreens'}): eq_(HomescreenIndexer.get_index(), 'homescreens')
def test_mapping_type_name(self): eq_(HomescreenIndexer.get_mapping_type_name(), 'homescreen')
def test_mapping(self): mapping = HomescreenIndexer.get_mapping() eq_(mapping.keys(), ['homescreen'])
def test_mapping_type_name(self): eq_(HomescreenIndexer.get_mapping_type_name(), 'homescreen')
def unindex_webapps(ids, **kw): # DEPRECATED: call WebappIndexer.unindexer directly. HomescreenIndexer.unindexer(ids) WebappIndexer.unindexer(ids)
def unindex_webapps(ids, **kw): # DEPRECATED: call WebappIndexer.unindexer directly. HomescreenIndexer.unindexer(ids) WebappIndexer.unindexer(ids)
def test_model(self): eq_(HomescreenIndexer.get_model(), Webapp)