aabd22913c210f35bb43434cd38c9d84dbe99e46
[ebuildfind.git] / views.py
blobaabd22913c210f35bb43434cd38c9d84dbe99e46
1 from commands.whoosh_manager import WhooshEbuildManager
2 from django.shortcuts import render_to_response
3 from planet import Parser
5 from models import Ebuild, Overlay
7 whoosh = WhooshEbuildManager()
9 def index(request):
10 GPlanet = Parser("http://planet.gentoo.org/atom.xml")
11 GOverlays = Parser("http://overlays.gentoo.org/rss20.xml")
12 GNews = Parser("http://www.gentoo.org/rdf/en/gentoo-news.rdf")
13 GGoogle = Parser("http://news.google.fr/news?pz=1&ned=us&hl=en&q=gentoo+AND+(linux+OR+OS+OR+Operating+System+OR+GNU)&output=rss")
15 response = dict()
16 response['GGoogle'] = GGoogle
17 response['GNews'] = GNews
18 response['GOverlays'] = GOverlays
19 response['GPlanet'] = GPlanet
21 return render_to_response("ebuildfind/index.html", response)
24 overlay = {}
26 def add_overlay(name, description):
27 overlay["name"] = description
29 def search(request):
30 response = {"error":"Query should be at least 3 caracters long"}
31 query = ""
33 if request.method == 'GET':
34 try:
35 query = request.GET["q"]
36 except:
37 pass
39 if(len(query)>2):
40 response["error"] = False
41 response["query"] = query
43 results = whoosh.Search(query)
44 response["results"] = list()
46 for result in results:
47 ebuild = Ebuild.objects.get(id=result["permalink"])
48 response["results"].append(ebuild)
50 return render_to_response("ebuildfind/search.html", response)