diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2009-12-01 09:26:50 +0100 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2009-12-01 09:26:50 +0100 |
| commit | 90336e2e4e16de500c83db7aef8cd6a2a6678e00 (patch) | |
| tree | bfa4f205a17ce2f2c61052cfaa8c9c683b72bddd /addons/document_webdav/webdav_server.py | |
| parent | 86794c725285c43083b1c807b92b250c34d16f24 (diff) | |
| parent | 96737d284fef562e8e6b096592d284aa6db8fa4a (diff) | |
merge
bzr revid: fp@tinyerp.com-20091201082650-e6n201rwss3u0etn
Diffstat (limited to 'addons/document_webdav/webdav_server.py')
| -rw-r--r-- | addons/document_webdav/webdav_server.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/addons/document_webdav/webdav_server.py b/addons/document_webdav/webdav_server.py new file mode 100644 index 00000000000..f04315e13c9 --- /dev/null +++ b/addons/document_webdav/webdav_server.py @@ -0,0 +1,80 @@ +# -*- encoding: utf-8 -*- + +# +# Copyright P. Christeas <p_christ@hol.gr> 2008,2009 +# +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +############################################################################### + + +import netsvc +from dav_fs import tinydav_handler +from tools.config import config +from DAV.WebDAVServer import DAVRequestHandler +from service.websrv_lib import HTTPDir,FixSendError + +class DAVHandler(FixSendError,DAVRequestHandler): + verbose = False + + def get_userinfo(self,user,pw): + print "get_userinfo" + return False + def _log(self, message): + netsvc.Logger().notifyChannel("webdav",netsvc.LOG_DEBUG,message) + + def handle(self): + pass + + def finish(self): + pass + + def setup(self): + davpath = '/'+config.get_misc('webdav','vdir','webdav')+'/' + self.baseuri = "http://%s:%d%s"% (self.server.server_name,self.server.server_port,davpath) + self.IFACE_CLASS = tinydav_handler(self) + pass + + def log_message(self, format, *args): + netsvc.Logger().notifyChannel('webdav',netsvc.LOG_DEBUG_RPC,format % args) + + def log_error(self, format, *args): + netsvc.Logger().notifyChannel('xmlrpc',netsvc.LOG_WARNING,format % args) + + +try: + from service.http_server import reg_http_service,OpenERPAuthProvider + if (config.get_misc('webdav','enable',False)): + davpath = '/'+config.get_misc('webdav','vdir','webdav')+'/' + handler = DAVHandler + handler.verbose = config.get_misc('webdav','verbose',True) + handler.debug = config.get_misc('webdav','debug',True) + reg_http_service(HTTPDir(davpath,DAVHandler,OpenERPAuthProvider())) + netsvc.Logger().notifyChannel('webdav',netsvc.LOG_INFO,"WebDAV service registered at path: %s/ "% davpath) +except Exception, e: + logger = netsvc.Logger() + logger.notifyChannel('webdav', netsvc.LOG_ERROR, 'Cannot launch webdav: %s' % e) + +#eof + + + |
