annotate restService/restService.py @ 6:f0417a01690a

error handling if file renaming not possible
author dwinter
date Fri, 02 Nov 2012 09:06:44 +0100
parents 3ebe37d81071
children 733d43b30a82
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
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
7 import manageIndexMetaPURLs
3
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
8 from redirector import redirector
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
9 import logging
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
10
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
11 urls = (
3
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
12 '/purl/(.+)','purl',
caeede0c9464 update and redirector
dwinter
parents: 2
diff changeset
13 '/docuviewer/(.+)','redirector',
2
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
14 )
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
15
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
16 app = web.application(urls, globals())
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
17
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
18
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
19 class purl:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
20
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
21 def __init__(self):
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
22 self.md=manageIndexMetaPURLs.IndexMetaPURLManager()
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
23
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
24 def GET(self,purl):
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
25
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
26 path,validity=self.md.getPathValidity(purl)
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
27
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
28 if path is None:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
29 raise web.notfound("Cannnot find a URL to this path")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
30
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
31 if validity is manageIndexMetaPURLs.PERM_NON_VALID:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
32 raise web.notfound("PURL NON VALID ANYMORE!")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
33
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
34 if validity is manageIndexMetaPURLs.TEMP_NON_VALID:
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
35 return web.notfound("PURL currently not VALID try later!")
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
36
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
37
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
38 return path
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
39
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
40
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
41 if __name__ == "__main__":
fb2a3b4542a4 restservice
dwinter
parents:
diff changeset
42 app.run()