Main method to auto setup Apphook

        It must be called after the Apphook registration::

            apphook_pool.register(MyApp)
            MyApp.setup()

def setup(cls):
        """
        Main method to auto setup Apphook

        It must be called after the Apphook registration::

            apphook_pool.register(MyApp)
            MyApp.setup()
        """
        try:
            if cls.auto_setup and cls.auto_setup.get('enabled', False):
                if not cls.auto_setup.get('home title', False):
                    warnings.warn(
                        '"home title" is not set in {0}.auto_setup attribute'.format(cls)
                    )
                    return
                if not cls.auto_setup.get('page title', False):
                    warnings.warn(
                        '"page title" is not set in {0}.auto_setup attribute'.format(cls)
                    )
                    return
                if cls.app_name and not cls.auto_setup.get('namespace', False):
                    warnings.warn(
                        '"page title" is not set in {0}.auto_setup attribute'.format(cls)
                    )
                    return
                config = None
                cls._setup_pages(config)
        except Exception:
            # Ignore any error during setup. Worst case: pages are not created, but the instance
            # won't break
            pass