Пример #1
0
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))
Пример #2
0
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))
Пример #3
0
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))
Пример #4
0
    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()
Пример #5
0
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))
Пример #6
0
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))
Пример #7
0
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))
Пример #8
0
    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)
Пример #9
0
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',
Пример #10
0
    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)
Пример #11
0
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)
Пример #12
0
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)