annotate restService/searcher.py @ 39:a33fa2377075

outfiles are now set as parameter
author dwinter
date Wed, 05 Mar 2014 10:11:50 +0100
parents aced422ae66c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
1 '''
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
2 Created on 02.11.2012
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
3
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
4 @author: dwinter
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
5 '''
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
6
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
7 import web
9
5f5447b3a082 repackaging
dwinter
parents: 8
diff changeset
8 import managePurls.manageIndexMetaPURLs as manageIndexMetaPURLs
8
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
9
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
10 class searcher:
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
11
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
12 def __init__(self):
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
13 self.md=manageIndexMetaPURLs.IndexMetaPURLManager()
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
14
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
15 def GET(self):
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
16
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
17 input = web.input()
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
18
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
19 if not hasattr(input, 'q'):
20
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
20 return "usage: ?q=QUERYSTRING "
8
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
21
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
22
20
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
23 if hasattr(input, 'q'):
8
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
24
20
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
25 query = input.q
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
26
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
27 purls=self.md.search(query)
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
28
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
29 currentUrl = web.ctx.homepath
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
30
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
31 if purls is None:
33
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
32 #versuche noch mal mit "/index.meta"
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
33 purls=self.md.search(query+"/index.meta")
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
34 if purls is None:
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
35 purls=[]
20
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
36
33
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
37
20
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
38 ret="""<div class="results"><div class="purls_found_count">%s</div>"""%len(purls)
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
39
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
40 for purl in purls:
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
41 ret+="""<div class="purls"><a href="%s">%s</a></div>"""%(currentUrl+"/purl/"+purl['purl'],purl['purl'])
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
42
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
43
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
44 web.header('Content-Type', 'text/html')
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
45 return ret+"</div>"
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
46
cf4503528b5e searchsolr neue function, zun?chst nur f?r text-url-path
dwinter
parents: 9
diff changeset
47
33
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
48 def POST(self):
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
49 data = web.data()
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
50 ret=[]
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
51 print data
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
52 for line in data.split("\n"):
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
53 purls=self.md.search(line)
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
54
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
55 if purls is None:
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
56 #versuche noch mal mit "/index.meta"
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
57 purls=self.md.search(line+"/index.meta")
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
58 if purls is None:
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
59 purls=[]
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
60
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
61
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
62 for purl in purls:
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
63 ret.append("%s\t%s"%(line,purl['purl']))
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
64
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
65
aced422ae66c added post resquest for search
dwinter
parents: 20
diff changeset
66 return "\n".join(ret)
8
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
67
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
68 if __name__ == '__main__':
733d43b30a82 connection handling changed
dwinter
parents:
diff changeset
69 pass