[IMP] sync_google_calendar: Raised a proper error message if user has no access rights.
[odoo/odoo.git] / setup.py
index 894c7f7..00667bc 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -33,7 +33,7 @@ import glob
 
 from pprint import pprint as pp
 
-from setuptools import setup as official_setup, find_packages
+from setuptools import setup, find_packages
 from setuptools.command.install import install
 from distutils.sysconfig import get_python_lib
 
@@ -88,6 +88,24 @@ def find_addons():
     for root, _, names in os.walk(join('bin', 'addons'), followlinks=True):
         if '__openerp__.py' in names or '__terp__.py' in names:
             yield basename(root), root
+    #look for extra modules
+    try:
+        empath = os.getenv('EXTRA_MODULES_PATH', '../addons/')
+        for mname in open(join(empath, 'server_modules.list')):
+            mname = mname.strip()
+            if not mname:
+                continue
+
+            terp = join(empath, mname, '__openerp__.py')
+            if not os.path.exists(terp):
+                terp = join(empath, mname, '__terp__.py')
+
+            if os.path.exists(terp):
+                yield mname, join(empath, mname)
+            else:
+                print "Module %s specified, but no valid path." % mname
+    except Exception:
+        pass
 
 def data_files():
     '''Build list of data files to be installed'''
@@ -169,21 +187,18 @@ options = {
         "optimize": 2,
         "dist_dir": 'dist',
         "packages": [
-                 "lxml", "lxml.builder", "lxml._elementpath", "lxml.etree",
-                 "lxml.objectify", "decimal", "xml", "xml", "xml.dom", "xml.xpath",
-                 "encodings", "dateutil", "wizard", "pychart", "PIL", "pyparsing",
-                 "pydot", "asyncore","asynchat", "reportlab", "vobject",
-                 "HTMLParser", "select", "mako", "poplib",
-                 "imaplib", "smtplib", "email", "yaml", "DAV",
-                 ],
+            "lxml", "lxml.builder", "lxml._elementpath", "lxml.etree",
+            "lxml.objectify", "decimal", "xml", "xml", "xml.dom", "xml.xpath",
+            "encodings", "dateutil", "wizard", "pychart", "PIL", "pyparsing",
+            "pydot", "asyncore","asynchat", "reportlab", "vobject",
+            "HTMLParser", "select", "mako", "poplib",
+            "imaplib", "smtplib", "email", "yaml", "DAV",
+            "uuid",
+        ],
         "excludes" : ["Tkconstants","Tkinter","tcl"],
     }
 }
 
-def setup(**kwargs):
-    #pp(kwargs)
-    return official_setup(**kwargs)
-
 setup(name             = name,
       version          = version,
       description      = description,
@@ -225,13 +240,8 @@ setup(name             = name,
           'reportlab',
           'caldav',
           'pyyaml',
-          #'django',
-          'pywebdav'
-          #'cx_Oracle',
-          #'mysqldb',
+          'pywebdav',
           'feedparser',
-          #'bsddb3',
-          'egenix-mx-base'
       ],
       extras_require={
           'SSL' : ['pyopenssl'],