~sebastien.beau/openobject-addons/on-change-support-extra-addons

« back to all changes in this revision

Viewing changes to document/webdav/webdav_server.py

  • Committer: Fabien Pinckaers
  • Date: 2007-08-20 04:05:27 UTC
  • Revision ID: fp@tinyerp.com-ffb4642cb04a1994e23d738ef594fdd132ebc5d5
NEW MODULE:
        Document Management System. Check:
        http://tinyerp.org/forum/post12896.html#12896

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import BaseHTTPServer
 
2
import DAV
 
3
import os
 
4
 
 
5
from xml.dom import ext
 
6
 
 
7
from dav_auth import tinyerp_auth
 
8
from dav_fs import tinyerp_handler
 
9
 
 
10
import threading
 
11
import pooler
 
12
 
 
13
db_name = 'terp'
 
14
 
 
15
class dav_server(threading.Thread):
 
16
        def __init__(self, host, port, db_name, directory_id):
 
17
                super(dav_server,self).__init__()
 
18
                self.host = host
 
19
                self.port = port
 
20
                self.db_name = db_name
 
21
                self.directory_id = directory_id
 
22
 
 
23
        def run(self):
 
24
                server = BaseHTTPServer.HTTPServer
 
25
                handler = tinyerp_auth
 
26
                handler.db_name = db_name
 
27
                handler.IFACE_CLASS = tinyerp_handler(db_name, 'http://%s:%s/' % (host, port), self.directory_id, True )
 
28
                handler.verbose = True
 
29
                runner = server( (host, port), handler )
 
30
                runner.serve_forever()
 
31
 
 
32
cr=False
 
33
try:
 
34
        db = pooler.get_db_only(db_name)
 
35
        cr = db.cursor()
 
36
except:
 
37
        db=None
 
38
if cr:
 
39
        cr.execute("select server_url,server_port,directory_id from document_repository where active")
 
40
        for host,port,directory_id in cr.fetchall():
 
41
                ds = dav_server(host, port, db_name, directory_id)
 
42
                ds.start()
 
43
        cr.close()