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
, Index
9 PUNCTUATION_REGEX
= re
.compile('[' + re
.escape(string
.punctuation
.replace("-", "").replace("+", "")) + ']')
12 GPlanet
= Parser("http://planet.gentoo.org/atom.xml")
13 GOverlays
= Parser("http://overlays.gentoo.org/rss20.xml")
14 GNews
= Parser("http://www.gentoo.org/rdf/en/gentoo-news.rdf")
15 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")
19 response
['GGoogle'] = GGoogle
20 response
['GNews'] = GNews
21 response
['GOverlays'] = GOverlays
22 response
['GPlanet'] = GPlanet
24 return render_to_response("ebuildfind/index.html", response
)
29 def add_overlay(name
, description
):
30 overlay
["name"] = description
33 response
= {"error":"Query should be at least 3 caracters long"}
36 if request
.method
== 'GET':
38 query
= request
.GET
["q"]
39 query
= PUNCTUATION_REGEX
.sub(' ', query
)
44 response
["error"] = False
45 response
["query"] = query
46 results
= Ebuild
.search(Ebuild
, query
)
47 response
["results"] = results
48 response
["nb"] = len(results
)
50 return render_to_response("ebuildfind/search.html", response
)