def Home(request): from pyes.queryset import generate_model prize_model = generate_model("prize", "prize") prizes = ( prize_model.objects.exclude(status="a") .exclude(status="b") .exclude(status="d") .exclude(status="e") .order_by("publish_date") ) facets = prize_model.objects.facet("category").size(0).facets meguz_model = generate_model("meguz", "meguz") meguzs = ( meguz_model.objects.exclude(status="a") .exclude(status="b") .exclude(status="d") .exclude(status="e") .order_by("-publish_date") ) context = {"prizes": prizes, "facets": facets, "meguzs": meguzs} return render_to_response("home.html", context, context_instance=RequestContext(request))
def PrizeView(request, company_slug, offer_id, offer_slug): prize = Offer.objects.get(pk=offer_id) if prize is None: return HttpResponseRedirect("/") else: company = Company.objects.get(pk=prize.company.id) from pyes.queryset import generate_model prize_model = generate_model("prize", "prize") prizes = ( prize_model.objects.exclude(status="a") .exclude(status="b") .exclude(status="d") .exclude(status="e") .exclude(id=prize.id) .order_by("publish_date") ) meguz_model = generate_model("meguz", "meguz") meguzs = ( meguz_model.objects.exclude(status="a") .exclude(status="b") .exclude(status="d") .exclude(status="e") .filter(prize_id=prize.id) .order_by("-publish_date") ) winners = {} if prize.status == "F": winners = Meguz.objects.filter(prize=prize).filter(status="F") context = {"offer": prize, "company": company, "prizes": prizes, "meguzs": meguzs, "winners": winners} return render_to_response("offer.html", context, context_instance=RequestContext(request))
def Home(request): from pyes.queryset import generate_model prize_model = generate_model("prize","prize") prizes = prize_model.objects.exclude(status='a').exclude(status='b').exclude(status='d').exclude(status='e').order_by('publish_date') facets = prize_model.objects.facet("category").size(0).facets meguz_model = generate_model("meguz","meguz") meguzs = meguz_model.objects.exclude(status='a').exclude(status='b').exclude(status='d').exclude(status='e').order_by('-publish_date') context = {'prizes':prizes, 'facets':facets, 'meguzs':meguzs} return render_to_response('home.html', context, context_instance=RequestContext(request))
def handle(self, action, *args, **options): def default(obj): import datetime if isinstance(obj, datetime.datetime): return obj.isoformat() return obj from newsconnector.support.tasks import ( update_feeds, scrape_articles, build_similar, update_headlines) from pyes.queryset import generate_model import json ArticleModel = generate_model("newsworld", "article") if action == 'feeds': update_feeds() if action == 'scrape': scrape_articles() if action == 'dump': a = ArticleModel.objects.all().order_by('-date')[:40] print json.dumps(a, default=default) if action == 'similar': build_similar('NewsArticle') if action == 'similar_all': build_similar() if action == 'headlines': update_headlines()
def MeguzView(request, meguz_id, meguz_slug): meguz = Meguz.objects.get(pk=meguz_id) from pyes.queryset import generate_model meguz_model = generate_model("meguz","meguz") meguzs = meguz_model.objects.exclude(status='a').exclude(status='b').exclude(status='d').exclude(status='e').filter(prize_id=meguz.prize.id).order_by('-publish_date') context = {"meguz":meguz, "meguzs":meguzs} return render_to_response('meguz.html', context, context_instance=RequestContext(request))
def PrizeView(request, company_slug, offer_id, offer_slug): prize = Offer.objects.get(pk=offer_id) if prize is None: return HttpResponseRedirect("/") else: company = Company.objects.get(pk=prize.company.id) from pyes.queryset import generate_model prize_model = generate_model("prize","prize") prizes = prize_model.objects.exclude(status='a').exclude(status='b').exclude(status='d').exclude(status='e').exclude(id=prize.id).order_by('publish_date') meguz_model = generate_model("meguz","meguz") meguzs = meguz_model.objects.exclude(status='a').exclude(status='b').exclude(status='d').exclude(status='e').filter(prize_id=prize.id).order_by('-publish_date') winners = {} if prize.status == 'F' : winners = Meguz.objects.filter(prize=prize).filter(status='F') context = { 'offer': prize, 'company': company, 'prizes':prizes, 'meguzs':meguzs, 'winners':winners } return render_to_response('offer.html', context, context_instance=RequestContext(request))
def SearchCategory(request, category_slug): category = Category.objects.get(slug=category_slug); if category is None: HttpResponseRedirect("/") else: from pyes.queryset import generate_model prize_model = generate_model("prize","prize") prizes = prize_model.objects.filter(category=category.name).order_by('-publish_date') facets = prize_model.objects.facet("category").size(0).facets context = {'prizes':prizes, 'facets':facets} return render_to_response('home.html', context, context_instance=RequestContext(request))
def test_get(self): model = generate_model(self.index_name, self.document_type) queryset = model.objects self.assertEqual(len(queryset), 3) queryset = model.objects.all() self.assertEqual(len(queryset), 3) queryset = model.objects.filter(uuid="33333") self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position=1) self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position=1).filter(position=3) self.assertEqual(len(queryset), 0) queryset = model.objects.filter(uuid="33333", position=3) self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position__gt=1, position__lt=3) self.assertEqual(len(queryset), 1) self.assertEqual(queryset.count(), 1) self.assertEqual([r.position for r in queryset], [2]) queryset = model.objects.exclude(position=1) self.assertEqual(len(queryset), 2) self.assertEqual(queryset.count(), 2) self.assertEqual([r.position for r in queryset], [2, 3]) queryset = model.objects.exclude(position__in=[1, 2]) self.assertEqual(len(queryset), 1) self.assertEqual(queryset.count(), 1) self.assertEqual([r.position for r in queryset], [3]) item = model.objects.get(position=1) self.assertEqual(item.position, 1) self.assertRaises(DoesNotExist, model.objects.get, position=0) queryset = model.objects.order_by("position") self.assertEqual(queryset[0].position, 1) queryset = model.objects.order_by("-position") self.assertEqual(queryset[0].position, 3) item, created = model.objects.get_or_create(position=1, defaults={"name": "nasty"}) self.assertEqual(created, False) self.assertEqual(item.position, 1) self.assertEqual(item.get_meta().id, "1") item, created = model.objects.get_or_create(position=10, defaults={"name": "nasty"}) self.assertEqual(created, True) self.assertEqual(item.position, 10) values = list(model.objects.values("uuid", "position")) self.assertEqual(len(values), 3) self.assertEqual([dict(t) for t in values], [{u'position': 1, u'uuid': u'11111'}, {u'position': 2, u'uuid': u'22222'}, {u'position': 3, u'uuid': u'33333'}]) values = list(model.objects.values_list("uuid", flat=True)) self.assertEqual(len(values), 3) self.assertEqual(values, [u'11111', u'22222',u'33333']) values = model.objects.dates("date", kind="year") self.assertEqual(len(values), 1) self.assertEqual(values, [datetime(2012, 1, 1, 0, 0)]) facets = model.objects.facet("uuid").size(0).facets uuid_facets=facets["uuid"] self.assertEqual(uuid_facets["total"], 3) self.assertEqual(uuid_facets["terms"][0]["count"], 1)
from datetime import datetime, timedelta from pyes import ES from pyes.queryset import generate_model ArticleModel = generate_model("newsworld", "article") from newsconnector.models import ( Article, NewsArticle, FinanceArticle, EntertainmentArticle, SportsArticle, INewsArticle, ISportsArticle ) conn = ES('127.0.0.1:9200') def delete_index(): try: conn.indices.delete_index('newsworld') except: pass conn.indices.create_index("newsworld") conn.indices.default_indices = ["newsworld"] conn.indices.refresh() def setup(): conn.indices.refresh() mapping = { u'hash_key': { 'index': 'not_analyzed', 'store': 'yes',
def test_get(self): model = generate_model(self.index_name, self.document_type) queryset = model.objects self.assertEqual(len(queryset), 3) queryset = model.objects.all() self.assertEqual(len(queryset), 3) queryset = model.objects.filter(uuid="33333") self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position=1) self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position=1).filter(position=3) self.assertEqual(len(queryset), 0) queryset = model.objects.filter(uuid="33333", position=3) self.assertEqual(len(queryset), 1) queryset = model.objects.filter(position__gt=1, position__lt=3) self.assertEqual(len(queryset), 1) self.assertEqual(queryset.count(), 1) self.assertEqual([r.position for r in queryset], [2]) queryset = model.objects.exclude(position=1) self.assertEqual(len(queryset), 2) self.assertEqual(queryset.count(), 2) self.assertEqual([r.position for r in queryset], [2, 3]) queryset = model.objects.exclude(position__in=[1, 2]) self.assertEqual(len(queryset), 1) self.assertEqual(queryset.count(), 1) self.assertEqual([r.position for r in queryset], [3]) item = model.objects.get(position=1) self.assertEqual(item.position, 1) self.assertRaises(DoesNotExist, model.objects.get, position=0) queryset = model.objects.order_by("position") self.assertEqual(queryset[0].position, 1) queryset = model.objects.order_by("-position") self.assertEqual(queryset[0].position, 3) item, created = model.objects.get_or_create(position=1, defaults={"name": "nasty"}) self.assertEqual(created, False) self.assertEqual(item.position, 1) self.assertEqual(item.get_meta().id, "1") item, created = model.objects.get_or_create(position=10, defaults={"name": "nasty"}) self.assertEqual(created, True) self.assertEqual(item.position, 10) values = list(model.objects.values("uuid", "position")) self.assertEqual(len(values), 3) self.assertEqual([dict(t) for t in values], [{ u'position': 1, u'uuid': u'11111' }, { u'position': 2, u'uuid': u'22222' }, { u'position': 3, u'uuid': u'33333' }]) values = list(model.objects.values_list("uuid", flat=True)) self.assertEqual(len(values), 3) self.assertEqual(values, [u'11111', u'22222', u'33333']) values = model.objects.dates("date", kind="year") self.assertEqual(len(values), 1) self.assertEqual(values, [datetime(2012, 1, 1, 0, 0)]) facets = model.objects.facet("uuid").size(0).facets uuid_facets = facets["uuid"] self.assertEqual(uuid_facets["total"], 3) self.assertEqual(uuid_facets["terms"][0]["count"], 1)
def get_index_model(index_name, index_type): from pyes.queryset import generate_model return generate_model(index_name, index_type, es_url=ES_PATH)
def get_index_model(index_name,index_type) : from pyes.queryset import generate_model return generate_model(index_name, index_type,es_url=ES_PATH)
def get_index_model(database,table): return generate_model(database, table,es_url=ES_PATH)