begin_unit
comment|'# Copyright 2011 OpenStack Foundation'
nl|'\n'
comment|'# All Rights Reserved.'
nl|'\n'
comment|'#'
nl|'\n'
comment|'#    Licensed under the Apache License, Version 2.0 (the "License"); you may'
nl|'\n'
comment|'#    not use this file except in compliance with the License. You may obtain'
nl|'\n'
comment|'#    a copy of the License at'
nl|'\n'
comment|'#'
nl|'\n'
comment|'#         http://www.apache.org/licenses/LICENSE-2.0'
nl|'\n'
comment|'#'
nl|'\n'
comment|'#    Unless required by applicable law or agreed to in writing, software'
nl|'\n'
comment|'#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT'
nl|'\n'
comment|'#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the'
nl|'\n'
comment|'#    License for the specific language governing permissions and limitations'
nl|'\n'
comment|'#    under the License.'
nl|'\n'
nl|'\n'
name|'from'
name|'oslo_config'
name|'import'
name|'cfg'
newline|'\n'
name|'from'
name|'oslo_log'
name|'import'
name|'log'
name|'as'
name|'logging'
newline|'\n'
nl|'\n'
name|'from'
name|'nova'
op|'.'
name|'api'
op|'.'
name|'openstack'
name|'import'
name|'extensions'
name|'as'
name|'base_extensions'
newline|'\n'
name|'from'
name|'nova'
op|'.'
name|'i18n'
name|'import'
name|'_LW'
newline|'\n'
nl|'\n'
DECL|variable|STANDARD_EXTENSIONS
name|'STANDARD_EXTENSIONS'
op|'='
op|'('
string|"'nova.api.openstack.compute.legacy_v2.contrib.'"
op|'+'
nl|'\n'
string|"'standard_extensions'"
op|')'
newline|'\n'
nl|'\n'
DECL|variable|ext_opts
name|'ext_opts'
op|'='
op|'['
nl|'\n'
name|'cfg'
op|'.'
name|'MultiStrOpt'
op|'('
nl|'\n'
string|"'osapi_compute_extension'"
op|','
nl|'\n'
DECL|variable|default
name|'default'
op|'='
op|'['
name|'STANDARD_EXTENSIONS'
op|']'
op|','
nl|'\n'
DECL|variable|help
name|'help'
op|'='
string|"'osapi compute extension to load. '"
nl|'\n'
string|"'This option will be removed in the near future. '"
nl|'\n'
string|"'After that point you have to run all of the API.'"
op|','
nl|'\n'
DECL|variable|deprecated_for_removal
name|'deprecated_for_removal'
op|'='
name|'True'
op|')'
op|','
nl|'\n'
op|']'
newline|'\n'
DECL|variable|CONF
name|'CONF'
op|'='
name|'cfg'
op|'.'
name|'CONF'
newline|'\n'
name|'CONF'
op|'.'
name|'register_opts'
op|'('
name|'ext_opts'
op|')'
newline|'\n'
nl|'\n'
DECL|variable|LOG
name|'LOG'
op|'='
name|'logging'
op|'.'
name|'getLogger'
op|'('
name|'__name__'
op|')'
newline|'\n'
nl|'\n'
nl|'\n'
DECL|class|ExtensionManager
name|'class'
name|'ExtensionManager'
op|'('
name|'base_extensions'
op|'.'
name|'ExtensionManager'
op|')'
op|':'
newline|'\n'
DECL|member|__init__
indent|'    '
name|'def'
name|'__init__'
op|'('
name|'self'
op|')'
op|':'
newline|'\n'
indent|'        '
name|'self'
op|'.'
name|'cls_list'
op|'='
name|'CONF'
op|'.'
name|'osapi_compute_extension'
newline|'\n'
name|'if'
op|'('
name|'len'
op|'('
name|'self'
op|'.'
name|'cls_list'
op|')'
op|'>'
number|'0'
name|'and'
nl|'\n'
name|'self'
op|'.'
name|'cls_list'
op|'['
number|'0'
op|']'
op|'!='
name|'STANDARD_EXTENSIONS'
op|')'
op|':'
newline|'\n'
indent|'            '
name|'LOG'
op|'.'
name|'warning'
op|'('
name|'_LW'
op|'('
string|"'The extension configure options are deprecated. '"
nl|'\n'
string|"'In the near future you must run all of the API.'"
op|')'
op|')'
newline|'\n'
dedent|''
name|'self'
op|'.'
name|'extensions'
op|'='
op|'{'
op|'}'
newline|'\n'
name|'self'
op|'.'
name|'sorted_ext_list'
op|'='
op|'['
op|']'
newline|'\n'
name|'self'
op|'.'
name|'_load_extensions'
op|'('
op|')'
newline|'\n'
dedent|''
dedent|''
endmarker|''
end_unit
