summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-26 12:16:07 +0000
committerGerrit Code Review <review@openstack.org>2014-09-26 12:16:07 +0000
commitfd9a0dc1f67348014a05f75b13da05d5147c1233 (patch)
treea2a42e91392b8f907fc4acac4cce1e0d618e7686
parent921a8b77dcb11d4e3668bf23a5731b665b748a92 (diff)
parent33f938e2be91bb0d18e5e979902ea3cfdda578b9 (diff)
downloadpecan-fd9a0dc1f67348014a05f75b13da05d5147c1233.tar.gz
Merge "Remove `assert` for flow control; it can be optimized away with `python -O`."
-rw-r--r--pecan/commands/base.py2
-rw-r--r--pecan/commands/create.py2
-rw-r--r--pecan/core.py3
-rw-r--r--pecan/middleware/debug.py8
-rw-r--r--pecan/tests/middleware/test_debug.py2
5 files changed, 10 insertions, 7 deletions
diff --git a/pecan/commands/base.py b/pecan/commands/base.py
index 8f7d3dc..441d577 100644
--- a/pecan/commands/base.py
+++ b/pecan/commands/base.py
@@ -46,7 +46,7 @@ class CommandManager(object):
continue
try:
cmd = ep.load()
- assert hasattr(cmd, 'run')
+ cmd.run # ensure existance; catch AttributeError otherwise
except Exception as e: # pragma: nocover
warn("Unable to load plugin %s: %s" % (ep, e), RuntimeWarning)
continue
diff --git a/pecan/commands/create.py b/pecan/commands/create.py
index b6eec2a..1187489 100644
--- a/pecan/commands/create.py
+++ b/pecan/commands/create.py
@@ -22,7 +22,7 @@ class ScaffoldManager(object):
log.debug('%s loading scaffold %s', self.__class__.__name__, ep)
try:
cmd = ep.load()
- assert hasattr(cmd, 'copy_to')
+ cmd.copy_to # ensure existance; catch AttributeError otherwise
except Exception as e: # pragma: nocover
warn(
"Unable to load scaffold %s: %s" % (ep, e), RuntimeWarning
diff --git a/pecan/core.py b/pecan/core.py
index 934931a..20d6403 100644
--- a/pecan/core.py
+++ b/pecan/core.py
@@ -255,7 +255,8 @@ class PecanBase(object):
module = __import__(name, fromlist=fromlist)
kallable = getattr(module, parts[-1])
msg = "%s does not represent a callable class or function."
- assert hasattr(kallable, '__call__'), msg % item
+ if not six.callable(kallable):
+ raise TypeError(msg % item)
return kallable()
raise ImportError('No item named %s' % item)
diff --git a/pecan/middleware/debug.py b/pecan/middleware/debug.py
index 0203245..764e8e9 100644
--- a/pecan/middleware/debug.py
+++ b/pecan/middleware/debug.py
@@ -269,9 +269,11 @@ class DebugMiddleware(object):
self.debugger = debugger
def __call__(self, environ, start_response):
- assert not environ['wsgi.multiprocess'], (
- "The DebugMiddleware middleware is not usable in a "
- "multi-process environment")
+ if environ['wsgi.multiprocess']:
+ raise RuntimeError(
+ "The DebugMiddleware middleware is not usable in a "
+ "multi-process environment"
+ )
if environ.get('paste.testing'):
return self.app(environ, start_response)
diff --git a/pecan/tests/middleware/test_debug.py b/pecan/tests/middleware/test_debug.py
index de9d4cd..bc9d65f 100644
--- a/pecan/tests/middleware/test_debug.py
+++ b/pecan/tests/middleware/test_debug.py
@@ -58,7 +58,7 @@ class TestDebugMiddleware(PecanTestCase):
app = TestApp(MultiProcessApp(DebugMiddleware(conditional_error_app)))
self.assertRaises(
- AssertionError,
+ RuntimeError,
app.get,
'/'
)