diff --git a/.gitignore b/.gitignore index 29387c05..9a96fd9e 100644 --- a/.gitignore +++ b/.gitignore @@ -49,9 +49,11 @@ pip-log.txt # Unit test / coverage reports .coverage +htmlcov .tox # TextMate *.tmproj *.tmproject tmtags + diff --git a/src/cement.ext.configobj/cement/ext/__init__.py b/src/cement.ext.configobj/cement/ext/__init__.py index e69de29b..de40ea7c 100644 --- a/src/cement.ext.configobj/cement/ext/__init__.py +++ b/src/cement.ext.configobj/cement/ext/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) diff --git a/src/cement2/cement/core/app.py b/src/cement2/cement/core/app.py index 5d672394..5cabd2e7 100644 --- a/src/cement2/cement/core/app.py +++ b/src/cement2/cement/core/app.py @@ -3,7 +3,7 @@ import sys from cement.core.backend import default_config, minimal_logger -from cement.core.exc import CementConfigError +from cement.core import exc from cement.core import handler, hook from cement.core.log import ILogHandler, LoggingLogHandler from cement.core.config import IConfigHandler, ConfigParserConfigHandler @@ -81,7 +81,11 @@ class CementApp(object): self._setup_logging() def load_ext(self, ext_name): - __import__("cement.ext.ext_%s" % ext_name) + module = "cement.ext.ext_%s" % ext_name + try: + __import__(module) + except ImportError, e: + raise exc.CementRuntimeError, e.args[0] def _setup_config(self): if not self.config: @@ -106,7 +110,7 @@ class CementApp(object): if not c.has_key('base', 'app_name') or \ not c.get('base', 'app_name'): - raise CementConfigError("config['app_name'] required.") + raise exc.CementConfigError("config['app_name'] required.") if not c.has_key('base', 'app_module') or \ not c.get('base', 'app_module'): c.set('base', 'app_module', c.get('base', 'app_name')) diff --git a/src/cement2/setup.cfg b/src/cement2/setup.cfg new file mode 100644 index 00000000..073fa3fe --- /dev/null +++ b/src/cement2/setup.cfg @@ -0,0 +1,13 @@ +[nosetests] +where=tests/ +#verbosity=3 +debug=0 +detailed-errors=1 +with-coverage=1 +cover-package=cement +#cover-erase=1 + +[build_sphinx] +source-dir = doc/source +build-dir = doc/build +all_files = 1 diff --git a/src/cement2/setup.py b/src/cement2/setup.py index 148ee881..061a7a06 100644 --- a/src/cement2/setup.py +++ b/src/cement2/setup.py @@ -60,15 +60,18 @@ setup(name='cement', zip_safe=False, test_suite='nose.collector', install_requires=[ - # Required for documentation - #"Sphinx >= 1.0", - #"Pygments", + ### Required to build documentation + # "Sphinx >= 1.0", + # "Pygments", + ### Required for testing + # "nose", + # "coverage", ], setup_requires=[ ], entry_points=""" """, namespace_packages=[ - 'cement.ext' + #'cement.ext' ], ) diff --git a/src/cement2/test.py b/src/cement2/test.py index c2dd38fc..a00a37d3 100755 --- a/src/cement2/test.py +++ b/src/cement2/test.py @@ -19,7 +19,7 @@ def my_hook_three(*args, **kw): config = default_config() config['base']['config_files'] = ['./test.conf', 'asdfasdfasdf.conf'] -config['base']['config_handler'] = 'configparser' +config['base']['config_handler'] = 'configobj' config['log']['debug'] = True app = lay_cement('myapp', defaults=config)