Install OpenChange python bindings in ocsmanager virtual devenv
authorJulien Kerihuel <j.kerihuel@openchange.org>
Fri, 7 Oct 2011 14:22:33 +0000 (14:22 +0000)
committerJulien Kerihuel <j.kerihuel@openchange.org>
Fri, 7 Oct 2011 14:22:33 +0000 (14:22 +0000)
Add mapistore configuration options for ocsmanager.ini:
* mapistore_root: the directory where to find openchange.ldb
* mapistore_data: the directory where to find mapistore data

Instantiate mapistore within environment.py: load backends

mapiproxy/services/ocsmanager/ocsmanager.ini
mapiproxy/services/ocsmanager/ocsmanager/config/environment.py
mapiproxy/services/ocsmanager/ocsmanager/lib/config.py
mapiproxy/services/setup.sh

index 04d37f20bc60c1af4d637649e8627a807e8123dd..ddca139c6722585b600157c44c2d387f2fa89575 100644 (file)
@@ -4,6 +4,8 @@
 # auth = file
 #auth = ldap
 auth = single
+mapistore_root = /usr/local/samba/private
+mapistore_data = /usr/local/samba/private/mapistore
 
 [auth:file]
 #file = 
index 805c289bf31253341fa245bf398de844f9f3fab1..4f6adeff7652b0c56214abaaaadac6fe2982a189 100644 (file)
@@ -9,6 +9,7 @@ import ocsmanager.lib.app_globals as app_globals
 import ocsmanager.lib.helpers
 import ocsmanager.lib.config as OCSConfig
 from ocsmanager.config.routing import make_map
+import openchange.mapistore as mapistore
 
 def load_environment(global_conf, app_conf):
     """Configure the Pylons environment via the ``pylons.config``
@@ -46,7 +47,9 @@ def load_environment(global_conf, app_conf):
     # CONFIGURATION OPTIONS HERE (note: all config options will override
     # any Pylons config options)
     ocsconfig = OCSConfig.OCSConfig(os.path.join(config.get('here'), 'ocsmanager.ini'))
-    config['plop'] = 'plop'
     config['ocsmanager'] = ocsconfig.load()
+
+    mapistore.set_mapping_path(config['ocsmanager']['main']['mapistore_data'])
+    config['mapistore'] = mapistore.mapistore(config['ocsmanager']['main']['mapistore_root'])
     
     return config
index 8dd33bb96c150b2b545ffaa7f80895eeef1e545d..b3f12d9fce7cfa2d827e4056a2da85cd89b2ccb7 100644 (file)
@@ -54,6 +54,8 @@ class OCSConfig(object):
 
         self.__get_section('main')
         self.__get_option('main', 'auth', 'auth', 'type')
+        self.__get_option('main', 'mapistore_root')
+        self.__get_option('main', 'mapistore_data')
         
         if not self.cfg.has_section('auth:%s' % self.d['auth']['type']):
             log.error("%s: Missing [auth:%s] section", self.config, self.d['auth']['type'])
@@ -103,5 +105,5 @@ class OCSConfig(object):
 
         self.__parse_main()
         self.__parse_auth()
-
+        
         return self.d
index 763fe320967e81c7140cf7e8fbc895661ce152ff..5d6d608ea0de4a928554881768646201fcd3bc75 100755 (executable)
@@ -1,5 +1,10 @@
 #!/bin/bash
 
+echo '############################################################'
+echo 'Run the script from local directory'
+echo 'Also ensure OpenChange is compiled prior running the script'
+echo '############################################################'
+
 echo '[*] Installing virtualenv'
 sudo easy_install virtualenv
 
@@ -9,6 +14,9 @@ virtualenv mydevenv
 echo '[*] Installing Pylons 1.0 in mydevenv'
 curl http://pylonshq.com/download/1.0/go-pylons.py | python - mydevenv
 
+echo '[*] Copying OpenChange bindings in mydevenv'
+cp -rfi ../../python/openchange mydevenv/lib/python2.7/site-packages/
+
 echo '[*] Activating the virtual environment'
 source mydevenv/bin/activate