'Check for mounted Applications that have site-scoped config.'

def check_site_config_entries_in_app_config(self):

    for (sn, app) in iteritems(cherrypy.tree.apps):
        if (not isinstance(app, cherrypy.Application)):
            continue
        msg = []
        for (section, entries) in iteritems(app.config):
            if section.startswith('/'):
                for (key, value) in iteritems(entries):
                    for n in ('engine.', 'server.', 'tree.', 'checker.'):
                        if key.startswith(n):
                            msg.append(('[%s]    %s    =    %s' % (section, key, value)))
        if msg:
            msg.insert(0, ('The    application    mounted    at    %r    contains    the    following    config    entries,    which    are    only    allowed    in    site-wide    config.    Move    them    to    a    [global]    section    and    pass    them    to    cherrypy.config.update()    instead    of    tree.mount().' % sn))
            warnings.warn(os.linesep.join(msg))
