diff options
| author | Panos Christeas <xrg@linux.gr> | 2009-11-26 19:24:00 +0530 |
|---|---|---|
| committer | Harry (Open ERP) <hmo@tinyerp.com> | 2009-11-26 19:24:00 +0530 |
| commit | 8d0b4a741816302a30efa28442563afefea8b9cd (patch) | |
| tree | b55e82f0b338715645c6e3a584ba0231fa66e390 /addons/document_webdav/DAV/errors.py | |
| parent | e65f61d4920949bbcdff1577624d36422c9f5473 (diff) | |
[MERGE] merge from lp:~xrg/openobject-addons/doc2-5.2
bzr revid: hmo@tinyerp.com-20091126135400-z32iycvadbt9so8n
Diffstat (limited to 'addons/document_webdav/DAV/errors.py')
| -rwxr-xr-x | addons/document_webdav/DAV/errors.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/addons/document_webdav/DAV/errors.py b/addons/document_webdav/DAV/errors.py new file mode 100755 index 00000000000..9c0e7667913 --- /dev/null +++ b/addons/document_webdav/DAV/errors.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +""" + + Exceptions for the DAVserver implementation + +""" + +class DAV_Error(Exception): + """ in general we can have the following arguments: + + 1. the error code + 2. the error result element, e.g. a <multistatus> element + """ + + def __init__(self,*args): + if len(args)==1: + self.args=(args[0],"") + else: + self.args=args + +class DAV_Secret(DAV_Error): + """ the user is not allowed to know anything about it + + returning this for a property value means to exclude it + from the response xml element. + """ + + def __init__(self): + DAV_Error.__init__(self,0) + pass + +class DAV_NotFound(DAV_Error): + """ a requested property was not found for a resource """ + + def __init__(self,*args): + if len(args): + if isinstance(args[0],list): + stre = "Path %s not found!"%('/'.join(args[0])) + else: + stre = args[0] + DAV_Error.__init__(self,404,stre) + else: + DAV_Error.__init__(self,404) + + pass + +class DAV_Forbidden(DAV_Error): + """ a method on a resource is not allowed """ + + def __init__(self,*args): + if len(args): + DAV_Error.__init__(self,403,args[0]) + else: + DAV_Error.__init__(self,403) + pass + |
