#NEWLINE# def _known_ns( self , app ) : #NEWLINE# #INDENT# ns = [ 'wsgi' ] #NEWLINE# ns . extend ( copykeys ( app . toolboxes ) ) #NEWLINE# ns . extend ( copykeys ( app . namespaces ) ) #NEWLINE# ns . extend ( copykeys ( app . request_class . namespaces ) ) #NEWLINE# ns . extend ( copykeys ( cherrypy . config . namespaces ) ) #NEWLINE# ns += self . extra_config_namespaces #NEWLINE# for ( section , conf ) in app . config . items ( ) : #NEWLINE# #INDENT# is_path_section = section . startswith ( '/' ) #NEWLINE# if ( is_path_section and isinstance ( conf , dict ) ) : #NEWLINE# #INDENT# for ( k , v ) in conf . items ( ) : #NEWLINE# #INDENT# atoms = k . split ( '.' ) #NEWLINE# if ( len ( atoms ) > 1 ) : #NEWLINE# #INDENT# if ( atoms [ 0 ] not in ns ) : #NEWLINE# #INDENT# if ( ( atoms [ 0 ] == 'cherrypy' ) and ( atoms [ 1 ] in ns ) ) : #NEWLINE# #INDENT# msg = ( 'The config entry %r is invalid; try %r instead.\nsection: [%s]' % ( k , '.' . join ( atoms [ 1 : ] ) , section ) ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# msg = ( 'The config entry %r is invalid, because the %r config namespace is unknown.\nsection: [%s]' % ( k , atoms [ 0 ] , section ) ) #NEWLINE# #UNINDENT# warnings . warn ( msg ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( atoms [ 0 ] == 'tools' ) : #NEWLINE# #INDENT# if ( atoms [ 1 ] not in dir ( cherrypy . tools ) ) : #NEWLINE# #INDENT# msg = ( 'The config entry %r may be invalid, because the %r tool was not found.\nsection: [%s]' % ( k , atoms [ 1 ] , section ) ) #NEWLINE# warnings . warn ( msg )