annotate restService/restService.py @ 15:5bab6e95980e

parameters added
author dwinter
date Thu, 15 Nov 2012 17:23:31 +0100
parents a2bcca6539fd
children 70110fb915a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
1 '''
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
2 Created on 31.10.2012
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
3
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
4 @author: dwinter
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
5 '''
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
6 import web
9
5f5447b3a082 repackaging
dwinter
parents: 8
diff changeset
7 import managePurls.manageIndexMetaPURLs as manageIndexMetaPURLs
14
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
8 from redirector import redirector
3
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
9 import logging
8
733d43b30a82 connection handling changed
dwinter
parents: 5
diff changeset
10 from searcher import searcher
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
11
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
12 urls = (
3
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
13 '/purl/(.+)','purl',
12
0287aed01f2b config and minor bugs
dwinter
parents: 11
diff changeset
14 '/docuview/(.+)','redirector',
8
733d43b30a82 connection handling changed
dwinter
parents: 5
diff changeset
15 '/search','searcher',
13
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
16 '/indexMeta/(.+)','indexMeta',
14
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
17 '/','serviceDescription'
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
18 )
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
19
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
20 app = web.application(urls, globals())
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
21
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
22
13
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
23 TEXTER_URL="http://digilib.mpiwg-berlin.mpg.de/digitallibrary/servlet/Texter?fn=%s"
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
24
14
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
25
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
26
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
27 class serviceDescription:
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
28
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
29 def __init__(self):
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
30 self.render = web.template.render('templates/')
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
31 def GET(self):
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
32
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
33 return self.render.serviceDescription()
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
34
13
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
35 class indexMeta:
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
36
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
37 def __init__(self):
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
38 self.md=manageIndexMetaPURLs.IndexMetaPURLManager()
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
39
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
40
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
41 def GET(self,purl):
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
42
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
43 path,validity=self.md.getPathValidity(purl)
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
44
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
45 if path is None:
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
46 raise web.notfound("Cannnot find a URL to this path")
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
47
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
48 if validity is manageIndexMetaPURLs.PERM_NON_VALID:
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
49 raise web.notfound("PURL NON VALID ANYMORE!")
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
50
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
51 if validity is manageIndexMetaPURLs.TEMP_NON_VALID:
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
52 return web.notfound("PURL currently not VALID try later!")
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
53
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
54
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
55 raise web.redirect(TEXTER_URL%path)
14
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
56
13
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
57
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
58
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
59 class purl:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
60
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
61 def __init__(self):
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
62 self.md=manageIndexMetaPURLs.IndexMetaPURLManager()
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
63
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
64 def GET(self,purl):
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
65
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
66 path,validity=self.md.getPathValidity(purl)
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
67
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
68 if path is None:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
69 raise web.notfound("Cannnot find a URL to this path")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
70
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
71 if validity is manageIndexMetaPURLs.PERM_NON_VALID:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
72 raise web.notfound("PURL NON VALID ANYMORE!")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
73
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
74 if validity is manageIndexMetaPURLs.TEMP_NON_VALID:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
75 return web.notfound("PURL currently not VALID try later!")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
76
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
77
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
78 return path
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
79
13
a1577a498c85 metadata redirector added
dwinter
parents: 12
diff changeset
80
14
a2bcca6539fd static pages
dwinter
parents: 13
diff changeset
81
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
82
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
83 if __name__ == "__main__":
11
fad73212354b wsgi addedx
dwinter
parents: 9
diff changeset
84 app.run()