diff options
| author | Jason Kölker <jason@koelker.net> | 2011-11-01 13:26:51 -0500 |
|---|---|---|
| committer | Jason Kölker <jason@koelker.net> | 2011-11-01 13:26:51 -0500 |
| commit | 12edc653f55015627b3f51dacf5c15e1d182da34 (patch) | |
| tree | 577aa4a50fe0c2496d1a555e1a11075f3bc2de20 /openstack/common | |
| parent | 997c2e8eb0ade364a8920dd085ec0e24f56182fb (diff) | |
| parent | 99b2c6c202b1ec450e5f7bc1c4080f8c36773376 (diff) | |
| download | oslo-12edc653f55015627b3f51dacf5c15e1d182da34.tar.gz oslo-12edc653f55015627b3f51dacf5c15e1d182da34.tar.xz oslo-12edc653f55015627b3f51dacf5c15e1d182da34.zip | |
Merge commit '99b2c6c202b1ec450e5f7bc1c4080f8c36773376'
Diffstat (limited to 'openstack/common')
| -rw-r--r-- | openstack/common/extensions.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/openstack/common/extensions.py b/openstack/common/extensions.py index d2fab36..162a02a 100644 --- a/openstack/common/extensions.py +++ b/openstack/common/extensions.py @@ -206,6 +206,13 @@ class ExtensionsResource(wsgi.Resource): class ExtensionMiddleware(wsgi.Middleware): """Extensions middleware for WSGI.""" + @classmethod + def factory(cls, global_config, **local_config): + """Paste factory.""" + def _factory(app): + return cls(app, global_config, **local_config) + return _factory + def _action_ext_resources(self, application, ext_mgr, mapper): """Return a dict of ActionExtensionResource-s by collection.""" action_resources = {} @@ -245,9 +252,9 @@ class ExtensionMiddleware(wsgi.Middleware): return request_ext_resources - def __init__(self, application, ext_mgr): - self.ext_mgr = ext_mgr - + def __init__(self, application, config, ext_mgr=None): + ext_mgr = ext_mgr or ExtensionManager( + config['api_extensions_path']) mapper = routes.Mapper() # extended resources @@ -493,15 +500,16 @@ class ResourceExtension(object): class ExtensionsXMLSerializer(wsgi.XMLDictSerializer): - NSMAP = {None: DEFAULT_XMLNS, 'atom': XMLNS_ATOM} + def __init__(self): + self.nsmap = {None: DEFAULT_XMLNS, 'atom': XMLNS_ATOM} def show(self, ext_dict): - ext = etree.Element('extension', nsmap=self.NSMAP) + ext = etree.Element('extension', nsmap=self.nsmap) self._populate_ext(ext, ext_dict['extension']) return self._to_xml(ext) def index(self, exts_dict): - exts = etree.Element('extensions', nsmap=self.NSMAP) + exts = etree.Element('extensions', nsmap=self.nsmap) for ext_dict in exts_dict['extensions']: ext = etree.SubElement(exts, 'extension') self._populate_ext(ext, ext_dict) |
