# {py:mod}`arelle.webserver.bottle` ```{py:module} arelle.webserver.bottle ``` ```{autodoc2-docstring} arelle.webserver.bottle :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`DictProperty ` - ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty :summary: ``` * - {py:obj}`cached_property ` - ```{autodoc2-docstring} arelle.webserver.bottle.cached_property :summary: ``` * - {py:obj}`lazy_attribute ` - ```{autodoc2-docstring} arelle.webserver.bottle.lazy_attribute :summary: ``` * - {py:obj}`Router ` - ```{autodoc2-docstring} arelle.webserver.bottle.Router :summary: ``` * - {py:obj}`Route ` - ```{autodoc2-docstring} arelle.webserver.bottle.Route :summary: ``` * - {py:obj}`Bottle ` - ```{autodoc2-docstring} arelle.webserver.bottle.Bottle :summary: ``` * - {py:obj}`BaseRequest ` - ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest :summary: ``` * - {py:obj}`HeaderProperty ` - ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty :summary: ``` * - {py:obj}`BaseResponse ` - ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse :summary: ``` * - {py:obj}`LocalRequest ` - ```{autodoc2-docstring} arelle.webserver.bottle.LocalRequest :summary: ``` * - {py:obj}`LocalResponse ` - ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse :summary: ``` * - {py:obj}`JSONPlugin ` - ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin :summary: ``` * - {py:obj}`TemplatePlugin ` - ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin :summary: ``` * - {py:obj}`_ImportRedirect ` - ```{autodoc2-docstring} arelle.webserver.bottle._ImportRedirect :summary: ``` * - {py:obj}`MultiDict ` - ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict :summary: ``` * - {py:obj}`FormsDict ` - ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict :summary: ``` * - {py:obj}`HeaderDict ` - ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict :summary: ``` * - {py:obj}`WSGIHeaderDict ` - ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict :summary: ``` * - {py:obj}`ConfigDict ` - ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict :summary: ``` * - {py:obj}`AppStack ` - ```{autodoc2-docstring} arelle.webserver.bottle.AppStack :summary: ``` * - {py:obj}`WSGIFileWrapper ` - ```{autodoc2-docstring} arelle.webserver.bottle.WSGIFileWrapper :summary: ``` * - {py:obj}`_closeiter ` - ```{autodoc2-docstring} arelle.webserver.bottle._closeiter :summary: ``` * - {py:obj}`ResourceManager ` - ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager :summary: ``` * - {py:obj}`FileUpload ` - ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload :summary: ``` * - {py:obj}`ServerAdapter ` - ```{autodoc2-docstring} arelle.webserver.bottle.ServerAdapter :summary: ``` * - {py:obj}`CGIServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.CGIServer :summary: ``` * - {py:obj}`FlupFCGIServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.FlupFCGIServer :summary: ``` * - {py:obj}`WSGIRefServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.WSGIRefServer :summary: ``` * - {py:obj}`CherryPyServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.CherryPyServer :summary: ``` * - {py:obj}`CherootServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.CherootServer :summary: ``` * - {py:obj}`WaitressServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.WaitressServer :summary: ``` * - {py:obj}`PasteServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.PasteServer :summary: ``` * - {py:obj}`MeinheldServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.MeinheldServer :summary: ``` * - {py:obj}`FapwsServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.FapwsServer :summary: ``` * - {py:obj}`TornadoServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.TornadoServer :summary: ``` * - {py:obj}`AppEngineServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.AppEngineServer :summary: ``` * - {py:obj}`TwistedServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.TwistedServer :summary: ``` * - {py:obj}`DieselServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.DieselServer :summary: ``` * - {py:obj}`GeventServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.GeventServer :summary: ``` * - {py:obj}`GunicornServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.GunicornServer :summary: ``` * - {py:obj}`EventletServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.EventletServer :summary: ``` * - {py:obj}`BjoernServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.BjoernServer :summary: ``` * - {py:obj}`AsyncioServerAdapter ` - ```{autodoc2-docstring} arelle.webserver.bottle.AsyncioServerAdapter :summary: ``` * - {py:obj}`AiohttpServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpServer :summary: ``` * - {py:obj}`AiohttpUVLoopServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpUVLoopServer :summary: ``` * - {py:obj}`AutoServer ` - ```{autodoc2-docstring} arelle.webserver.bottle.AutoServer :summary: ``` * - {py:obj}`FileCheckerThread ` - ```{autodoc2-docstring} arelle.webserver.bottle.FileCheckerThread :summary: ``` * - {py:obj}`BaseTemplate ` - ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate :summary: ``` * - {py:obj}`MakoTemplate ` - * - {py:obj}`CheetahTemplate ` - * - {py:obj}`Jinja2Template ` - * - {py:obj}`SimpleTemplate ` - * - {py:obj}`StplParser ` - ```{autodoc2-docstring} arelle.webserver.bottle.StplParser :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`_cli_parse ` - ```{autodoc2-docstring} arelle.webserver.bottle._cli_parse :summary: ``` * - {py:obj}`_cli_patch ` - ```{autodoc2-docstring} arelle.webserver.bottle._cli_patch :summary: ``` * - {py:obj}`tob ` - ```{autodoc2-docstring} arelle.webserver.bottle.tob :summary: ``` * - {py:obj}`touni ` - ```{autodoc2-docstring} arelle.webserver.bottle.touni :summary: ``` * - {py:obj}`_stderr ` - ```{autodoc2-docstring} arelle.webserver.bottle._stderr :summary: ``` * - {py:obj}`update_wrapper ` - ```{autodoc2-docstring} arelle.webserver.bottle.update_wrapper :summary: ``` * - {py:obj}`depr ` - ```{autodoc2-docstring} arelle.webserver.bottle.depr :summary: ``` * - {py:obj}`makelist ` - ```{autodoc2-docstring} arelle.webserver.bottle.makelist :summary: ``` * - {py:obj}`_re_flatten ` - ```{autodoc2-docstring} arelle.webserver.bottle._re_flatten :summary: ``` * - {py:obj}`_hkey ` - ```{autodoc2-docstring} arelle.webserver.bottle._hkey :summary: ``` * - {py:obj}`_hval ` - ```{autodoc2-docstring} arelle.webserver.bottle._hval :summary: ``` * - {py:obj}`_local_property ` - ```{autodoc2-docstring} arelle.webserver.bottle._local_property :summary: ``` * - {py:obj}`abort ` - ```{autodoc2-docstring} arelle.webserver.bottle.abort :summary: ``` * - {py:obj}`redirect ` - ```{autodoc2-docstring} arelle.webserver.bottle.redirect :summary: ``` * - {py:obj}`_file_iter_range ` - ```{autodoc2-docstring} arelle.webserver.bottle._file_iter_range :summary: ``` * - {py:obj}`static_file ` - ```{autodoc2-docstring} arelle.webserver.bottle.static_file :summary: ``` * - {py:obj}`debug ` - ```{autodoc2-docstring} arelle.webserver.bottle.debug :summary: ``` * - {py:obj}`http_date ` - ```{autodoc2-docstring} arelle.webserver.bottle.http_date :summary: ``` * - {py:obj}`parse_date ` - ```{autodoc2-docstring} arelle.webserver.bottle.parse_date :summary: ``` * - {py:obj}`parse_auth ` - ```{autodoc2-docstring} arelle.webserver.bottle.parse_auth :summary: ``` * - {py:obj}`parse_range_header ` - ```{autodoc2-docstring} arelle.webserver.bottle.parse_range_header :summary: ``` * - {py:obj}`_parse_http_header ` - ```{autodoc2-docstring} arelle.webserver.bottle._parse_http_header :summary: ``` * - {py:obj}`_parse_qsl ` - ```{autodoc2-docstring} arelle.webserver.bottle._parse_qsl :summary: ``` * - {py:obj}`_lscmp ` - ```{autodoc2-docstring} arelle.webserver.bottle._lscmp :summary: ``` * - {py:obj}`cookie_encode ` - ```{autodoc2-docstring} arelle.webserver.bottle.cookie_encode :summary: ``` * - {py:obj}`cookie_decode ` - ```{autodoc2-docstring} arelle.webserver.bottle.cookie_decode :summary: ``` * - {py:obj}`cookie_is_encoded ` - ```{autodoc2-docstring} arelle.webserver.bottle.cookie_is_encoded :summary: ``` * - {py:obj}`html_escape ` - ```{autodoc2-docstring} arelle.webserver.bottle.html_escape :summary: ``` * - {py:obj}`html_quote ` - ```{autodoc2-docstring} arelle.webserver.bottle.html_quote :summary: ``` * - {py:obj}`yieldroutes ` - ```{autodoc2-docstring} arelle.webserver.bottle.yieldroutes :summary: ``` * - {py:obj}`path_shift ` - ```{autodoc2-docstring} arelle.webserver.bottle.path_shift :summary: ``` * - {py:obj}`auth_basic ` - ```{autodoc2-docstring} arelle.webserver.bottle.auth_basic :summary: ``` * - {py:obj}`make_default_app_wrapper ` - ```{autodoc2-docstring} arelle.webserver.bottle.make_default_app_wrapper :summary: ``` * - {py:obj}`load ` - ```{autodoc2-docstring} arelle.webserver.bottle.load :summary: ``` * - {py:obj}`load_app ` - ```{autodoc2-docstring} arelle.webserver.bottle.load_app :summary: ``` * - {py:obj}`run ` - ```{autodoc2-docstring} arelle.webserver.bottle.run :summary: ``` * - {py:obj}`template ` - ```{autodoc2-docstring} arelle.webserver.bottle.template :summary: ``` * - {py:obj}`view ` - ```{autodoc2-docstring} arelle.webserver.bottle.view :summary: ``` * - {py:obj}`_main ` - ```{autodoc2-docstring} arelle.webserver.bottle._main :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__author__ ` - ```{autodoc2-docstring} arelle.webserver.bottle.__author__ :summary: ``` * - {py:obj}`__version__ ` - ```{autodoc2-docstring} arelle.webserver.bottle.__version__ :summary: ``` * - {py:obj}`__license__ ` - ```{autodoc2-docstring} arelle.webserver.bottle.__license__ :summary: ``` * - {py:obj}`py ` - ```{autodoc2-docstring} arelle.webserver.bottle.py :summary: ``` * - {py:obj}`py3k ` - ```{autodoc2-docstring} arelle.webserver.bottle.py3k :summary: ``` * - {py:obj}`tonat ` - ```{autodoc2-docstring} arelle.webserver.bottle.tonat :summary: ``` * - {py:obj}`Request ` - ```{autodoc2-docstring} arelle.webserver.bottle.Request :summary: ``` * - {py:obj}`Response ` - ```{autodoc2-docstring} arelle.webserver.bottle.Response :summary: ``` * - {py:obj}`_UNSET ` - ```{autodoc2-docstring} arelle.webserver.bottle._UNSET :summary: ``` * - {py:obj}`_hsplit ` - ```{autodoc2-docstring} arelle.webserver.bottle._hsplit :summary: ``` * - {py:obj}`route ` - ```{autodoc2-docstring} arelle.webserver.bottle.route :summary: ``` * - {py:obj}`get ` - ```{autodoc2-docstring} arelle.webserver.bottle.get :summary: ``` * - {py:obj}`post ` - ```{autodoc2-docstring} arelle.webserver.bottle.post :summary: ``` * - {py:obj}`put ` - ```{autodoc2-docstring} arelle.webserver.bottle.put :summary: ``` * - {py:obj}`delete ` - ```{autodoc2-docstring} arelle.webserver.bottle.delete :summary: ``` * - {py:obj}`patch ` - ```{autodoc2-docstring} arelle.webserver.bottle.patch :summary: ``` * - {py:obj}`error ` - ```{autodoc2-docstring} arelle.webserver.bottle.error :summary: ``` * - {py:obj}`mount ` - ```{autodoc2-docstring} arelle.webserver.bottle.mount :summary: ``` * - {py:obj}`hook ` - ```{autodoc2-docstring} arelle.webserver.bottle.hook :summary: ``` * - {py:obj}`install ` - ```{autodoc2-docstring} arelle.webserver.bottle.install :summary: ``` * - {py:obj}`uninstall ` - ```{autodoc2-docstring} arelle.webserver.bottle.uninstall :summary: ``` * - {py:obj}`url ` - ```{autodoc2-docstring} arelle.webserver.bottle.url :summary: ``` * - {py:obj}`server_names ` - ```{autodoc2-docstring} arelle.webserver.bottle.server_names :summary: ``` * - {py:obj}`_debug ` - ```{autodoc2-docstring} arelle.webserver.bottle._debug :summary: ``` * - {py:obj}`mako_template ` - ```{autodoc2-docstring} arelle.webserver.bottle.mako_template :summary: ``` * - {py:obj}`cheetah_template ` - ```{autodoc2-docstring} arelle.webserver.bottle.cheetah_template :summary: ``` * - {py:obj}`jinja2_template ` - ```{autodoc2-docstring} arelle.webserver.bottle.jinja2_template :summary: ``` * - {py:obj}`mako_view ` - ```{autodoc2-docstring} arelle.webserver.bottle.mako_view :summary: ``` * - {py:obj}`cheetah_view ` - ```{autodoc2-docstring} arelle.webserver.bottle.cheetah_view :summary: ``` * - {py:obj}`jinja2_view ` - ```{autodoc2-docstring} arelle.webserver.bottle.jinja2_view :summary: ``` * - {py:obj}`TEMPLATE_PATH ` - ```{autodoc2-docstring} arelle.webserver.bottle.TEMPLATE_PATH :summary: ``` * - {py:obj}`TEMPLATES ` - ```{autodoc2-docstring} arelle.webserver.bottle.TEMPLATES :summary: ``` * - {py:obj}`DEBUG ` - ```{autodoc2-docstring} arelle.webserver.bottle.DEBUG :summary: ``` * - {py:obj}`NORUN ` - ```{autodoc2-docstring} arelle.webserver.bottle.NORUN :summary: ``` * - {py:obj}`HTTP_CODES ` - ```{autodoc2-docstring} arelle.webserver.bottle.HTTP_CODES :summary: ``` * - {py:obj}`_HTTP_STATUS_LINES ` - ```{autodoc2-docstring} arelle.webserver.bottle._HTTP_STATUS_LINES :summary: ``` * - {py:obj}`ERROR_PAGE_TEMPLATE ` - ```{autodoc2-docstring} arelle.webserver.bottle.ERROR_PAGE_TEMPLATE :summary: ``` * - {py:obj}`request ` - ```{autodoc2-docstring} arelle.webserver.bottle.request :summary: ``` * - {py:obj}`response ` - ```{autodoc2-docstring} arelle.webserver.bottle.response :summary: ``` * - {py:obj}`local ` - ```{autodoc2-docstring} arelle.webserver.bottle.local :summary: ``` * - {py:obj}`ext ` - ```{autodoc2-docstring} arelle.webserver.bottle.ext :summary: ``` ```` ### API ````{py:data} __author__ :canonical: arelle.webserver.bottle.__author__ :value: > 'Marcel Hellkamp' ```{autodoc2-docstring} arelle.webserver.bottle.__author__ ``` ```` ````{py:data} __version__ :canonical: arelle.webserver.bottle.__version__ :value: > '0.13-dev' ```{autodoc2-docstring} arelle.webserver.bottle.__version__ ``` ```` ````{py:data} __license__ :canonical: arelle.webserver.bottle.__license__ :value: > 'MIT' ```{autodoc2-docstring} arelle.webserver.bottle.__license__ ``` ```` ````{py:function} _cli_parse(args) :canonical: arelle.webserver.bottle._cli_parse ```{autodoc2-docstring} arelle.webserver.bottle._cli_parse ``` ```` ````{py:function} _cli_patch(cli_args) :canonical: arelle.webserver.bottle._cli_patch ```{autodoc2-docstring} arelle.webserver.bottle._cli_patch ``` ```` ````{py:data} py :canonical: arelle.webserver.bottle.py :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.py ``` ```` ````{py:data} py3k :canonical: arelle.webserver.bottle.py3k :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.py3k ``` ```` ````{py:function} tob(s, enc='utf8') :canonical: arelle.webserver.bottle.tob ```{autodoc2-docstring} arelle.webserver.bottle.tob ``` ```` ````{py:function} touni(s, enc='utf8', err='strict') :canonical: arelle.webserver.bottle.touni ```{autodoc2-docstring} arelle.webserver.bottle.touni ``` ```` ````{py:data} tonat :canonical: arelle.webserver.bottle.tonat :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.tonat ``` ```` ````{py:function} _stderr(*args) :canonical: arelle.webserver.bottle._stderr ```{autodoc2-docstring} arelle.webserver.bottle._stderr ``` ```` ````{py:function} update_wrapper(wrapper, wrapped, *a, **ka) :canonical: arelle.webserver.bottle.update_wrapper ```{autodoc2-docstring} arelle.webserver.bottle.update_wrapper ``` ```` ````{py:function} depr(major, minor, cause, fix) :canonical: arelle.webserver.bottle.depr ```{autodoc2-docstring} arelle.webserver.bottle.depr ``` ```` ````{py:function} makelist(data) :canonical: arelle.webserver.bottle.makelist ```{autodoc2-docstring} arelle.webserver.bottle.makelist ``` ```` `````{py:class} DictProperty(attr, key=None, read_only=False) :canonical: arelle.webserver.bottle.DictProperty Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty.__init__ ``` ````{py:method} __call__(func) :canonical: arelle.webserver.bottle.DictProperty.__call__ ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty.__call__ ``` ```` ````{py:method} __get__(obj, cls) :canonical: arelle.webserver.bottle.DictProperty.__get__ ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty.__get__ ``` ```` ````{py:method} __set__(obj, value) :canonical: arelle.webserver.bottle.DictProperty.__set__ ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty.__set__ ``` ```` ````{py:method} __delete__(obj) :canonical: arelle.webserver.bottle.DictProperty.__delete__ ```{autodoc2-docstring} arelle.webserver.bottle.DictProperty.__delete__ ``` ```` ````` `````{py:class} cached_property(func) :canonical: arelle.webserver.bottle.cached_property Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.cached_property ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.cached_property.__init__ ``` ````{py:method} __get__(obj, cls) :canonical: arelle.webserver.bottle.cached_property.__get__ ```{autodoc2-docstring} arelle.webserver.bottle.cached_property.__get__ ``` ```` ````` `````{py:class} lazy_attribute(func) :canonical: arelle.webserver.bottle.lazy_attribute Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.lazy_attribute ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.lazy_attribute.__init__ ``` ````{py:method} __get__(obj, cls) :canonical: arelle.webserver.bottle.lazy_attribute.__get__ ```{autodoc2-docstring} arelle.webserver.bottle.lazy_attribute.__get__ ``` ```` ````` ````{py:exception} BottleException() :canonical: arelle.webserver.bottle.BottleException Bases: {py:obj}`Exception` ```{autodoc2-docstring} arelle.webserver.bottle.BottleException ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.BottleException.__init__ ``` ```` ````{py:exception} RouteError() :canonical: arelle.webserver.bottle.RouteError Bases: {py:obj}`arelle.webserver.bottle.BottleException` ```{autodoc2-docstring} arelle.webserver.bottle.RouteError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.RouteError.__init__ ``` ```` ````{py:exception} RouteReset() :canonical: arelle.webserver.bottle.RouteReset Bases: {py:obj}`arelle.webserver.bottle.BottleException` ```{autodoc2-docstring} arelle.webserver.bottle.RouteReset ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.RouteReset.__init__ ``` ```` ```{py:exception} RouterUnknownModeError() :canonical: arelle.webserver.bottle.RouterUnknownModeError Bases: {py:obj}`arelle.webserver.bottle.RouteError` ``` ````{py:exception} RouteSyntaxError() :canonical: arelle.webserver.bottle.RouteSyntaxError Bases: {py:obj}`arelle.webserver.bottle.RouteError` ```{autodoc2-docstring} arelle.webserver.bottle.RouteSyntaxError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.RouteSyntaxError.__init__ ``` ```` ````{py:exception} RouteBuildError() :canonical: arelle.webserver.bottle.RouteBuildError Bases: {py:obj}`arelle.webserver.bottle.RouteError` ```{autodoc2-docstring} arelle.webserver.bottle.RouteBuildError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.RouteBuildError.__init__ ``` ```` ````{py:function} _re_flatten(p) :canonical: arelle.webserver.bottle._re_flatten ```{autodoc2-docstring} arelle.webserver.bottle._re_flatten ``` ```` `````{py:class} Router(strict=False) :canonical: arelle.webserver.bottle.Router Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.Router ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.Router.__init__ ``` ````{py:attribute} default_pattern :canonical: arelle.webserver.bottle.Router.default_pattern :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.Router.default_pattern ``` ```` ````{py:attribute} default_filter :canonical: arelle.webserver.bottle.Router.default_filter :value: > 're' ```{autodoc2-docstring} arelle.webserver.bottle.Router.default_filter ``` ```` ````{py:attribute} _MAX_GROUPS_PER_PATTERN :canonical: arelle.webserver.bottle.Router._MAX_GROUPS_PER_PATTERN :value: > 99 ```{autodoc2-docstring} arelle.webserver.bottle.Router._MAX_GROUPS_PER_PATTERN ``` ```` ````{py:method} add_filter(name, func) :canonical: arelle.webserver.bottle.Router.add_filter ```{autodoc2-docstring} arelle.webserver.bottle.Router.add_filter ``` ```` ````{py:attribute} rule_syntax :canonical: arelle.webserver.bottle.Router.rule_syntax :value: > 'compile(...)' ```{autodoc2-docstring} arelle.webserver.bottle.Router.rule_syntax ``` ```` ````{py:method} _itertokens(rule) :canonical: arelle.webserver.bottle.Router._itertokens ```{autodoc2-docstring} arelle.webserver.bottle.Router._itertokens ``` ```` ````{py:method} add(rule, method, target, name=None) :canonical: arelle.webserver.bottle.Router.add ```{autodoc2-docstring} arelle.webserver.bottle.Router.add ``` ```` ````{py:method} _compile(method) :canonical: arelle.webserver.bottle.Router._compile ```{autodoc2-docstring} arelle.webserver.bottle.Router._compile ``` ```` ````{py:method} build(_name, *anons, **query) :canonical: arelle.webserver.bottle.Router.build ```{autodoc2-docstring} arelle.webserver.bottle.Router.build ``` ```` ````{py:method} match(environ) :canonical: arelle.webserver.bottle.Router.match ```{autodoc2-docstring} arelle.webserver.bottle.Router.match ``` ```` ````` `````{py:class} Route(app, rule, method, callback, name=None, plugins=None, skiplist=None, **config) :canonical: arelle.webserver.bottle.Route Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.Route ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.Route.__init__ ``` ````{py:method} call() :canonical: arelle.webserver.bottle.Route.call ```{autodoc2-docstring} arelle.webserver.bottle.Route.call ``` ```` ````{py:method} reset() :canonical: arelle.webserver.bottle.Route.reset ```{autodoc2-docstring} arelle.webserver.bottle.Route.reset ``` ```` ````{py:method} prepare() :canonical: arelle.webserver.bottle.Route.prepare ```{autodoc2-docstring} arelle.webserver.bottle.Route.prepare ``` ```` ````{py:method} all_plugins() :canonical: arelle.webserver.bottle.Route.all_plugins ```{autodoc2-docstring} arelle.webserver.bottle.Route.all_plugins ``` ```` ````{py:method} _make_callback() :canonical: arelle.webserver.bottle.Route._make_callback ```{autodoc2-docstring} arelle.webserver.bottle.Route._make_callback ``` ```` ````{py:method} get_undecorated_callback() :canonical: arelle.webserver.bottle.Route.get_undecorated_callback ```{autodoc2-docstring} arelle.webserver.bottle.Route.get_undecorated_callback ``` ```` ````{py:method} get_callback_args() :canonical: arelle.webserver.bottle.Route.get_callback_args ```{autodoc2-docstring} arelle.webserver.bottle.Route.get_callback_args ``` ```` ````{py:method} get_config(key, default=None) :canonical: arelle.webserver.bottle.Route.get_config ```{autodoc2-docstring} arelle.webserver.bottle.Route.get_config ``` ```` ````{py:method} __repr__() :canonical: arelle.webserver.bottle.Route.__repr__ ```` ````` `````{py:class} Bottle(**kwargs) :canonical: arelle.webserver.bottle.Bottle Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.Bottle ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__init__ ``` ````{py:method} _global_config() :canonical: arelle.webserver.bottle.Bottle._global_config ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._global_config ``` ```` ````{py:attribute} catchall :canonical: arelle.webserver.bottle.Bottle.catchall :value: > 'DictProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.catchall ``` ```` ````{py:attribute} __hook_names :canonical: arelle.webserver.bottle.Bottle.__hook_names :value: > ('before_request', 'after_request', 'app_reset', 'config') ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__hook_names ``` ```` ````{py:attribute} __hook_reversed :canonical: arelle.webserver.bottle.Bottle.__hook_reversed :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__hook_reversed ``` ```` ````{py:method} _hooks() :canonical: arelle.webserver.bottle.Bottle._hooks ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._hooks ``` ```` ````{py:method} add_hook(name, func) :canonical: arelle.webserver.bottle.Bottle.add_hook ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.add_hook ``` ```` ````{py:method} remove_hook(name, func) :canonical: arelle.webserver.bottle.Bottle.remove_hook ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.remove_hook ``` ```` ````{py:method} trigger_hook(__name, *args, **kwargs) :canonical: arelle.webserver.bottle.Bottle.trigger_hook ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.trigger_hook ``` ```` ````{py:method} hook(name) :canonical: arelle.webserver.bottle.Bottle.hook ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.hook ``` ```` ````{py:method} _mount_wsgi(prefix, app, **options) :canonical: arelle.webserver.bottle.Bottle._mount_wsgi ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._mount_wsgi ``` ```` ````{py:method} _mount_app(prefix, app, **options) :canonical: arelle.webserver.bottle.Bottle._mount_app ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._mount_app ``` ```` ````{py:method} mount(prefix, app, **options) :canonical: arelle.webserver.bottle.Bottle.mount ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.mount ``` ```` ````{py:method} merge(routes) :canonical: arelle.webserver.bottle.Bottle.merge ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.merge ``` ```` ````{py:method} install(plugin) :canonical: arelle.webserver.bottle.Bottle.install ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.install ``` ```` ````{py:method} uninstall(plugin) :canonical: arelle.webserver.bottle.Bottle.uninstall ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.uninstall ``` ```` ````{py:method} reset(route=None) :canonical: arelle.webserver.bottle.Bottle.reset ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.reset ``` ```` ````{py:method} close() :canonical: arelle.webserver.bottle.Bottle.close ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.close ``` ```` ````{py:method} run(**kwargs) :canonical: arelle.webserver.bottle.Bottle.run ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.run ``` ```` ````{py:method} match(environ) :canonical: arelle.webserver.bottle.Bottle.match ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.match ``` ```` ````{py:method} get_url(routename, **kargs) :canonical: arelle.webserver.bottle.Bottle.get_url ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.get_url ``` ```` ````{py:method} add_route(route) :canonical: arelle.webserver.bottle.Bottle.add_route ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.add_route ``` ```` ````{py:method} route(path=None, method='GET', callback=None, name=None, apply=None, skip=None, **config) -> typing.Any :canonical: arelle.webserver.bottle.Bottle.route ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.route ``` ```` ````{py:method} get(path=None, method='GET', **options) :canonical: arelle.webserver.bottle.Bottle.get ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.get ``` ```` ````{py:method} post(path=None, method='POST', **options) :canonical: arelle.webserver.bottle.Bottle.post ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.post ``` ```` ````{py:method} put(path=None, method='PUT', **options) :canonical: arelle.webserver.bottle.Bottle.put ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.put ``` ```` ````{py:method} delete(path=None, method='DELETE', **options) :canonical: arelle.webserver.bottle.Bottle.delete ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.delete ``` ```` ````{py:method} patch(path=None, method='PATCH', **options) :canonical: arelle.webserver.bottle.Bottle.patch ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.patch ``` ```` ````{py:method} error(code=500, callback=None) :canonical: arelle.webserver.bottle.Bottle.error ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.error ``` ```` ````{py:method} default_error_handler(res) :canonical: arelle.webserver.bottle.Bottle.default_error_handler ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.default_error_handler ``` ```` ````{py:method} _handle(environ) :canonical: arelle.webserver.bottle.Bottle._handle ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._handle ``` ```` ````{py:method} _cast(out, peek=None) :canonical: arelle.webserver.bottle.Bottle._cast ```{autodoc2-docstring} arelle.webserver.bottle.Bottle._cast ``` ```` ````{py:method} wsgi(environ, start_response) :canonical: arelle.webserver.bottle.Bottle.wsgi ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.wsgi ``` ```` ````{py:method} __call__(environ, start_response) :canonical: arelle.webserver.bottle.Bottle.__call__ ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__call__ ``` ```` ````{py:method} __enter__() :canonical: arelle.webserver.bottle.Bottle.__enter__ ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__enter__ ``` ```` ````{py:method} __exit__(exc_type, exc_value, traceback) :canonical: arelle.webserver.bottle.Bottle.__exit__ ```{autodoc2-docstring} arelle.webserver.bottle.Bottle.__exit__ ``` ```` ````{py:method} __setattr__(name, value) :canonical: arelle.webserver.bottle.Bottle.__setattr__ ```` ````` `````{py:class} BaseRequest(environ=None) :canonical: arelle.webserver.bottle.BaseRequest Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__init__ ``` ````{py:attribute} __slots__ :canonical: arelle.webserver.bottle.BaseRequest.__slots__ :value: > ('environ',) ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__slots__ ``` ```` ````{py:attribute} MEMFILE_MAX :canonical: arelle.webserver.bottle.BaseRequest.MEMFILE_MAX :value: > 102400 ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.MEMFILE_MAX ``` ```` ````{py:method} app() :canonical: arelle.webserver.bottle.BaseRequest.app ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.app ``` ```` ````{py:method} route() :canonical: arelle.webserver.bottle.BaseRequest.route ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.route ``` ```` ````{py:method} url_args() :canonical: arelle.webserver.bottle.BaseRequest.url_args ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.url_args ``` ```` ````{py:property} path :canonical: arelle.webserver.bottle.BaseRequest.path ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.path ``` ```` ````{py:property} method :canonical: arelle.webserver.bottle.BaseRequest.method ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.method ``` ```` ````{py:method} headers() :canonical: arelle.webserver.bottle.BaseRequest.headers ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.headers ``` ```` ````{py:method} get_header(name, default=None) -> str | None :canonical: arelle.webserver.bottle.BaseRequest.get_header ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.get_header ``` ```` ````{py:method} cookies() :canonical: arelle.webserver.bottle.BaseRequest.cookies ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.cookies ``` ```` ````{py:method} get_cookie(key, default=None, secret=None, digestmod=hashlib.sha256) :canonical: arelle.webserver.bottle.BaseRequest.get_cookie ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.get_cookie ``` ```` ````{py:method} query() :canonical: arelle.webserver.bottle.BaseRequest.query ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.query ``` ```` ````{py:method} forms() :canonical: arelle.webserver.bottle.BaseRequest.forms ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.forms ``` ```` ````{py:method} params() :canonical: arelle.webserver.bottle.BaseRequest.params ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.params ``` ```` ````{py:method} files() :canonical: arelle.webserver.bottle.BaseRequest.files ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.files ``` ```` ````{py:method} json() :canonical: arelle.webserver.bottle.BaseRequest.json ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.json ``` ```` ````{py:method} _iter_body(read, bufsize) :canonical: arelle.webserver.bottle.BaseRequest._iter_body ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest._iter_body ``` ```` ````{py:method} _iter_chunked(read, bufsize) :canonical: arelle.webserver.bottle.BaseRequest._iter_chunked :staticmethod: ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest._iter_chunked ``` ```` ````{py:method} _body() :canonical: arelle.webserver.bottle.BaseRequest._body ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest._body ``` ```` ````{py:method} _get_body_string(maxread) :canonical: arelle.webserver.bottle.BaseRequest._get_body_string ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest._get_body_string ``` ```` ````{py:property} body :canonical: arelle.webserver.bottle.BaseRequest.body ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.body ``` ```` ````{py:property} chunked :canonical: arelle.webserver.bottle.BaseRequest.chunked ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.chunked ``` ```` ````{py:attribute} GET :canonical: arelle.webserver.bottle.BaseRequest.GET :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.GET ``` ```` ````{py:method} POST() :canonical: arelle.webserver.bottle.BaseRequest.POST ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.POST ``` ```` ````{py:property} url :canonical: arelle.webserver.bottle.BaseRequest.url ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.url ``` ```` ````{py:method} urlparts() :canonical: arelle.webserver.bottle.BaseRequest.urlparts ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.urlparts ``` ```` ````{py:property} fullpath :canonical: arelle.webserver.bottle.BaseRequest.fullpath ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.fullpath ``` ```` ````{py:property} query_string :canonical: arelle.webserver.bottle.BaseRequest.query_string ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.query_string ``` ```` ````{py:property} script_name :canonical: arelle.webserver.bottle.BaseRequest.script_name ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.script_name ``` ```` ````{py:method} path_shift(shift=1) :canonical: arelle.webserver.bottle.BaseRequest.path_shift ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.path_shift ``` ```` ````{py:property} content_length :canonical: arelle.webserver.bottle.BaseRequest.content_length ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.content_length ``` ```` ````{py:property} content_type :canonical: arelle.webserver.bottle.BaseRequest.content_type ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.content_type ``` ```` ````{py:property} is_xhr :canonical: arelle.webserver.bottle.BaseRequest.is_xhr ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.is_xhr ``` ```` ````{py:property} is_ajax :canonical: arelle.webserver.bottle.BaseRequest.is_ajax ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.is_ajax ``` ```` ````{py:property} auth :canonical: arelle.webserver.bottle.BaseRequest.auth ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.auth ``` ```` ````{py:property} remote_route :canonical: arelle.webserver.bottle.BaseRequest.remote_route ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.remote_route ``` ```` ````{py:property} remote_addr :canonical: arelle.webserver.bottle.BaseRequest.remote_addr ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.remote_addr ``` ```` ````{py:method} copy() :canonical: arelle.webserver.bottle.BaseRequest.copy ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.copy ``` ```` ````{py:method} get(value, default=None) :canonical: arelle.webserver.bottle.BaseRequest.get ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.get ``` ```` ````{py:method} __getitem__(key) :canonical: arelle.webserver.bottle.BaseRequest.__getitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__getitem__ ``` ```` ````{py:method} __delitem__(key) :canonical: arelle.webserver.bottle.BaseRequest.__delitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__delitem__ ``` ```` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.BaseRequest.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__iter__ ``` ```` ````{py:method} __len__() :canonical: arelle.webserver.bottle.BaseRequest.__len__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__len__ ``` ```` ````{py:method} keys() :canonical: arelle.webserver.bottle.BaseRequest.keys ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.keys ``` ```` ````{py:method} __setitem__(key, value) :canonical: arelle.webserver.bottle.BaseRequest.__setitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__setitem__ ``` ```` ````{py:method} __repr__() :canonical: arelle.webserver.bottle.BaseRequest.__repr__ ```` ````{py:method} __getattr__(name) :canonical: arelle.webserver.bottle.BaseRequest.__getattr__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseRequest.__getattr__ ``` ```` ````{py:method} __setattr__(name, value) :canonical: arelle.webserver.bottle.BaseRequest.__setattr__ ```` ````{py:method} __delattr__(name) :canonical: arelle.webserver.bottle.BaseRequest.__delattr__ ```` ````` ````{py:function} _hkey(key) :canonical: arelle.webserver.bottle._hkey ```{autodoc2-docstring} arelle.webserver.bottle._hkey ``` ```` ````{py:function} _hval(value) :canonical: arelle.webserver.bottle._hval ```{autodoc2-docstring} arelle.webserver.bottle._hval ``` ```` `````{py:class} HeaderProperty(name, reader=None, writer=None, default='') :canonical: arelle.webserver.bottle.HeaderProperty Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty.__init__ ``` ````{py:method} __get__(obj, _) :canonical: arelle.webserver.bottle.HeaderProperty.__get__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty.__get__ ``` ```` ````{py:method} __set__(obj, value) :canonical: arelle.webserver.bottle.HeaderProperty.__set__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty.__set__ ``` ```` ````{py:method} __delete__(obj) :canonical: arelle.webserver.bottle.HeaderProperty.__delete__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderProperty.__delete__ ``` ```` ````` `````{py:class} BaseResponse(body='', status=None, headers=None, **more_headers) :canonical: arelle.webserver.bottle.BaseResponse Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__init__ ``` ````{py:attribute} default_status :canonical: arelle.webserver.bottle.BaseResponse.default_status :value: > 200 ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.default_status ``` ```` ````{py:attribute} default_content_type :canonical: arelle.webserver.bottle.BaseResponse.default_content_type :value: > 'text/html; charset=UTF-8' ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.default_content_type ``` ```` ````{py:attribute} bad_headers :canonical: arelle.webserver.bottle.BaseResponse.bad_headers :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.bad_headers ``` ```` ````{py:method} copy(cls=None) :canonical: arelle.webserver.bottle.BaseResponse.copy ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.copy ``` ```` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.BaseResponse.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__iter__ ``` ```` ````{py:method} close() :canonical: arelle.webserver.bottle.BaseResponse.close ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.close ``` ```` ````{py:property} status_line :canonical: arelle.webserver.bottle.BaseResponse.status_line ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.status_line ``` ```` ````{py:property} status_code :canonical: arelle.webserver.bottle.BaseResponse.status_code ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.status_code ``` ```` ````{py:method} _set_status(status) :canonical: arelle.webserver.bottle.BaseResponse._set_status ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse._set_status ``` ```` ````{py:method} _get_status() :canonical: arelle.webserver.bottle.BaseResponse._get_status ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse._get_status ``` ```` ````{py:attribute} status :canonical: arelle.webserver.bottle.BaseResponse.status :value: > 'property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.status ``` ```` ````{py:property} headers :canonical: arelle.webserver.bottle.BaseResponse.headers ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.headers ``` ```` ````{py:method} __contains__(name) :canonical: arelle.webserver.bottle.BaseResponse.__contains__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__contains__ ``` ```` ````{py:method} __delitem__(name) :canonical: arelle.webserver.bottle.BaseResponse.__delitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__delitem__ ``` ```` ````{py:method} __getitem__(name) :canonical: arelle.webserver.bottle.BaseResponse.__getitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__getitem__ ``` ```` ````{py:method} __setitem__(name, value) :canonical: arelle.webserver.bottle.BaseResponse.__setitem__ ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.__setitem__ ``` ```` ````{py:method} get_header(name, default=None) :canonical: arelle.webserver.bottle.BaseResponse.get_header ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.get_header ``` ```` ````{py:method} set_header(name, value) :canonical: arelle.webserver.bottle.BaseResponse.set_header ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.set_header ``` ```` ````{py:method} add_header(name, value) :canonical: arelle.webserver.bottle.BaseResponse.add_header ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.add_header ``` ```` ````{py:method} iter_headers() :canonical: arelle.webserver.bottle.BaseResponse.iter_headers ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.iter_headers ``` ```` ````{py:method} _wsgi_status_line() :canonical: arelle.webserver.bottle.BaseResponse._wsgi_status_line ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse._wsgi_status_line ``` ```` ````{py:property} headerlist :canonical: arelle.webserver.bottle.BaseResponse.headerlist ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.headerlist ``` ```` ````{py:attribute} content_type :canonical: arelle.webserver.bottle.BaseResponse.content_type :value: > 'HeaderProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.content_type ``` ```` ````{py:attribute} content_length :canonical: arelle.webserver.bottle.BaseResponse.content_length :value: > 'HeaderProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.content_length ``` ```` ````{py:attribute} expires :canonical: arelle.webserver.bottle.BaseResponse.expires :value: > 'HeaderProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.expires ``` ```` ````{py:property} charset :canonical: arelle.webserver.bottle.BaseResponse.charset ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.charset ``` ```` ````{py:method} set_cookie(name, value, secret=None, digestmod=hashlib.sha256, **options) :canonical: arelle.webserver.bottle.BaseResponse.set_cookie ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.set_cookie ``` ```` ````{py:method} delete_cookie(key, **kwargs) :canonical: arelle.webserver.bottle.BaseResponse.delete_cookie ```{autodoc2-docstring} arelle.webserver.bottle.BaseResponse.delete_cookie ``` ```` ````{py:method} __repr__() :canonical: arelle.webserver.bottle.BaseResponse.__repr__ ```` ````` ````{py:function} _local_property() :canonical: arelle.webserver.bottle._local_property ```{autodoc2-docstring} arelle.webserver.bottle._local_property ``` ```` `````{py:class} LocalRequest(environ=None) :canonical: arelle.webserver.bottle.LocalRequest Bases: {py:obj}`arelle.webserver.bottle.BaseRequest` ```{autodoc2-docstring} arelle.webserver.bottle.LocalRequest ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.LocalRequest.__init__ ``` ````{py:attribute} bind :canonical: arelle.webserver.bottle.LocalRequest.bind :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.LocalRequest.bind ``` ```` ````{py:attribute} environ :canonical: arelle.webserver.bottle.LocalRequest.environ :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalRequest.environ ``` ```` ````` `````{py:class} LocalResponse(body='', status=None, headers=None, **more_headers) :canonical: arelle.webserver.bottle.LocalResponse Bases: {py:obj}`arelle.webserver.bottle.BaseResponse` ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse.__init__ ``` ````{py:attribute} bind :canonical: arelle.webserver.bottle.LocalResponse.bind :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse.bind ``` ```` ````{py:attribute} _status_line :canonical: arelle.webserver.bottle.LocalResponse._status_line :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse._status_line ``` ```` ````{py:attribute} _status_code :canonical: arelle.webserver.bottle.LocalResponse._status_code :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse._status_code ``` ```` ````{py:attribute} _cookies :canonical: arelle.webserver.bottle.LocalResponse._cookies :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse._cookies ``` ```` ````{py:attribute} _headers :canonical: arelle.webserver.bottle.LocalResponse._headers :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse._headers ``` ```` ````{py:attribute} body :canonical: arelle.webserver.bottle.LocalResponse.body :value: > '_local_property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.LocalResponse.body ``` ```` ````` ````{py:data} Request :canonical: arelle.webserver.bottle.Request :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.Request ``` ```` ````{py:data} Response :canonical: arelle.webserver.bottle.Response :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.Response ``` ```` `````{py:exception} HTTPResponse(body='', status=None, headers=None, **more_headers) :canonical: arelle.webserver.bottle.HTTPResponse Bases: {py:obj}`arelle.webserver.bottle.Response`, {py:obj}`arelle.webserver.bottle.BottleException` ````{py:method} apply(other) :canonical: arelle.webserver.bottle.HTTPResponse.apply ```{autodoc2-docstring} arelle.webserver.bottle.HTTPResponse.apply ``` ```` ````` `````{py:exception} HTTPError(status=None, body=None, exception=None, traceback=None, **more_headers) :canonical: arelle.webserver.bottle.HTTPError Bases: {py:obj}`arelle.webserver.bottle.HTTPResponse` ````{py:attribute} default_status :canonical: arelle.webserver.bottle.HTTPError.default_status :value: > 500 ```{autodoc2-docstring} arelle.webserver.bottle.HTTPError.default_status ``` ```` ````` ```{py:exception} PluginError() :canonical: arelle.webserver.bottle.PluginError Bases: {py:obj}`arelle.webserver.bottle.BottleException` ``` `````{py:class} JSONPlugin(json_dumps=json_dumps) :canonical: arelle.webserver.bottle.JSONPlugin Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin.__init__ ``` ````{py:attribute} name :canonical: arelle.webserver.bottle.JSONPlugin.name :value: > 'json' ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin.name ``` ```` ````{py:attribute} api :canonical: arelle.webserver.bottle.JSONPlugin.api :value: > 2 ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin.api ``` ```` ````{py:method} setup(app) :canonical: arelle.webserver.bottle.JSONPlugin.setup ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin.setup ``` ```` ````{py:method} apply(callback, route) :canonical: arelle.webserver.bottle.JSONPlugin.apply ```{autodoc2-docstring} arelle.webserver.bottle.JSONPlugin.apply ``` ```` ````` `````{py:class} TemplatePlugin :canonical: arelle.webserver.bottle.TemplatePlugin Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin ``` ````{py:attribute} name :canonical: arelle.webserver.bottle.TemplatePlugin.name :value: > 'template' ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin.name ``` ```` ````{py:attribute} api :canonical: arelle.webserver.bottle.TemplatePlugin.api :value: > 2 ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin.api ``` ```` ````{py:method} setup(app) :canonical: arelle.webserver.bottle.TemplatePlugin.setup ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin.setup ``` ```` ````{py:method} apply(callback, route) :canonical: arelle.webserver.bottle.TemplatePlugin.apply ```{autodoc2-docstring} arelle.webserver.bottle.TemplatePlugin.apply ``` ```` ````` `````{py:class} _ImportRedirect(name, impmask) :canonical: arelle.webserver.bottle._ImportRedirect Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle._ImportRedirect ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle._ImportRedirect.__init__ ``` ````{py:method} find_module(fullname, path=None) :canonical: arelle.webserver.bottle._ImportRedirect.find_module ```{autodoc2-docstring} arelle.webserver.bottle._ImportRedirect.find_module ``` ```` ````{py:method} load_module(fullname) :canonical: arelle.webserver.bottle._ImportRedirect.load_module ```{autodoc2-docstring} arelle.webserver.bottle._ImportRedirect.load_module ``` ```` ````` `````{py:class} MultiDict(*a, **k) :canonical: arelle.webserver.bottle.MultiDict Bases: {py:obj}`collections.abc.MutableMapping` ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__init__ ``` ````{py:method} __len__() :canonical: arelle.webserver.bottle.MultiDict.__len__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__len__ ``` ```` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.MultiDict.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__iter__ ``` ```` ````{py:method} __contains__(key) :canonical: arelle.webserver.bottle.MultiDict.__contains__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__contains__ ``` ```` ````{py:method} __delitem__(key) :canonical: arelle.webserver.bottle.MultiDict.__delitem__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__delitem__ ``` ```` ````{py:method} __getitem__(key) :canonical: arelle.webserver.bottle.MultiDict.__getitem__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__getitem__ ``` ```` ````{py:method} __setitem__(key, value) :canonical: arelle.webserver.bottle.MultiDict.__setitem__ ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.__setitem__ ``` ```` ````{py:method} keys() :canonical: arelle.webserver.bottle.MultiDict.keys ```` ````{py:method} get(key, default=None, index=-1, type=None) :canonical: arelle.webserver.bottle.MultiDict.get ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.get ``` ```` ````{py:method} append(key, value) :canonical: arelle.webserver.bottle.MultiDict.append ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.append ``` ```` ````{py:method} replace(key, value) :canonical: arelle.webserver.bottle.MultiDict.replace ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.replace ``` ```` ````{py:method} getall(key) :canonical: arelle.webserver.bottle.MultiDict.getall ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.getall ``` ```` ````{py:attribute} getone :canonical: arelle.webserver.bottle.MultiDict.getone :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.getone ``` ```` ````{py:attribute} getlist :canonical: arelle.webserver.bottle.MultiDict.getlist :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.MultiDict.getlist ``` ```` ````` `````{py:class} FormsDict(*a, **k) :canonical: arelle.webserver.bottle.FormsDict Bases: {py:obj}`arelle.webserver.bottle.MultiDict` ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.__init__ ``` ````{py:attribute} input_encoding :canonical: arelle.webserver.bottle.FormsDict.input_encoding :value: > 'utf8' ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.input_encoding ``` ```` ````{py:attribute} recode_unicode :canonical: arelle.webserver.bottle.FormsDict.recode_unicode :value: > True ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.recode_unicode ``` ```` ````{py:method} _fix(s, encoding=None) :canonical: arelle.webserver.bottle.FormsDict._fix ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict._fix ``` ```` ````{py:method} decode(encoding=None) :canonical: arelle.webserver.bottle.FormsDict.decode ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.decode ``` ```` ````{py:method} getunicode(name, default=None, encoding=None) :canonical: arelle.webserver.bottle.FormsDict.getunicode ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.getunicode ``` ```` ````{py:method} __getattr__(name, default=unicode()) :canonical: arelle.webserver.bottle.FormsDict.__getattr__ ```{autodoc2-docstring} arelle.webserver.bottle.FormsDict.__getattr__ ``` ```` ````` `````{py:class} HeaderDict(*a, **ka) :canonical: arelle.webserver.bottle.HeaderDict Bases: {py:obj}`arelle.webserver.bottle.MultiDict` ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.__init__ ``` ````{py:method} __contains__(key) :canonical: arelle.webserver.bottle.HeaderDict.__contains__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.__contains__ ``` ```` ````{py:method} __delitem__(key) :canonical: arelle.webserver.bottle.HeaderDict.__delitem__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.__delitem__ ``` ```` ````{py:method} __getitem__(key) :canonical: arelle.webserver.bottle.HeaderDict.__getitem__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.__getitem__ ``` ```` ````{py:method} __setitem__(key, value) :canonical: arelle.webserver.bottle.HeaderDict.__setitem__ ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.__setitem__ ``` ```` ````{py:method} append(key, value) :canonical: arelle.webserver.bottle.HeaderDict.append ```` ````{py:method} replace(key, value) :canonical: arelle.webserver.bottle.HeaderDict.replace ```` ````{py:method} getall(key) :canonical: arelle.webserver.bottle.HeaderDict.getall ```` ````{py:method} get(key, default=None, index=-1) :canonical: arelle.webserver.bottle.HeaderDict.get ```` ````{py:method} filter(names) :canonical: arelle.webserver.bottle.HeaderDict.filter ```{autodoc2-docstring} arelle.webserver.bottle.HeaderDict.filter ``` ```` ````` `````{py:class} WSGIHeaderDict(environ) :canonical: arelle.webserver.bottle.WSGIHeaderDict Bases: {py:obj}`collections.abc.MutableMapping` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__init__ ``` ````{py:attribute} cgikeys :canonical: arelle.webserver.bottle.WSGIHeaderDict.cgikeys :value: > ('CONTENT_TYPE', 'CONTENT_LENGTH') ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.cgikeys ``` ```` ````{py:method} _ekey(key) :canonical: arelle.webserver.bottle.WSGIHeaderDict._ekey ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict._ekey ``` ```` ````{py:method} raw(key, default=None) :canonical: arelle.webserver.bottle.WSGIHeaderDict.raw ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.raw ``` ```` ````{py:method} __getitem__(key) :canonical: arelle.webserver.bottle.WSGIHeaderDict.__getitem__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__getitem__ ``` ```` ````{py:method} __setitem__(key, value) :canonical: arelle.webserver.bottle.WSGIHeaderDict.__setitem__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__setitem__ ``` ```` ````{py:method} __delitem__(key) :canonical: arelle.webserver.bottle.WSGIHeaderDict.__delitem__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__delitem__ ``` ```` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.WSGIHeaderDict.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__iter__ ``` ```` ````{py:method} keys() :canonical: arelle.webserver.bottle.WSGIHeaderDict.keys ```` ````{py:method} __len__() :canonical: arelle.webserver.bottle.WSGIHeaderDict.__len__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__len__ ``` ```` ````{py:method} __contains__(key) :canonical: arelle.webserver.bottle.WSGIHeaderDict.__contains__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIHeaderDict.__contains__ ``` ```` ````` ````{py:data} _UNSET :canonical: arelle.webserver.bottle._UNSET :value: > 'object(...)' ```{autodoc2-docstring} arelle.webserver.bottle._UNSET ``` ```` `````{py:class} ConfigDict() :canonical: arelle.webserver.bottle.ConfigDict Bases: {py:obj}`dict` ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.__init__ ``` ````{py:attribute} __slots__ :canonical: arelle.webserver.bottle.ConfigDict.__slots__ :value: > ('_meta', '_change_listener', '_overlays', '_virtual_keys', '_source', '__weakref__') ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.__slots__ ``` ```` ````{py:method} load_module(path, squash=True) :canonical: arelle.webserver.bottle.ConfigDict.load_module ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.load_module ``` ```` ````{py:method} load_config(filename, **options) :canonical: arelle.webserver.bottle.ConfigDict.load_config ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.load_config ``` ```` ````{py:method} load_dict(source, namespace='') :canonical: arelle.webserver.bottle.ConfigDict.load_dict ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.load_dict ``` ```` ````{py:method} update(*a, **ka) :canonical: arelle.webserver.bottle.ConfigDict.update ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.update ``` ```` ````{py:method} setdefault(key, value) :canonical: arelle.webserver.bottle.ConfigDict.setdefault ```` ````{py:method} __setitem__(key, value) :canonical: arelle.webserver.bottle.ConfigDict.__setitem__ ```` ````{py:method} __delitem__(key) :canonical: arelle.webserver.bottle.ConfigDict.__delitem__ ```` ````{py:method} _set_virtual(key, value) :canonical: arelle.webserver.bottle.ConfigDict._set_virtual ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._set_virtual ``` ```` ````{py:method} _delete_virtual(key) :canonical: arelle.webserver.bottle.ConfigDict._delete_virtual ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._delete_virtual ``` ```` ````{py:method} _on_change(key, value) :canonical: arelle.webserver.bottle.ConfigDict._on_change ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._on_change ``` ```` ````{py:method} _add_change_listener(func) :canonical: arelle.webserver.bottle.ConfigDict._add_change_listener ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._add_change_listener ``` ```` ````{py:method} meta_get(key, metafield, default=None) :canonical: arelle.webserver.bottle.ConfigDict.meta_get ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.meta_get ``` ```` ````{py:method} meta_set(key, metafield, value) :canonical: arelle.webserver.bottle.ConfigDict.meta_set ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.meta_set ``` ```` ````{py:method} meta_list(key) :canonical: arelle.webserver.bottle.ConfigDict.meta_list ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict.meta_list ``` ```` ````{py:method} _define(key, default=_UNSET, help=_UNSET, validate=_UNSET) :canonical: arelle.webserver.bottle.ConfigDict._define ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._define ``` ```` ````{py:method} _iter_overlays() :canonical: arelle.webserver.bottle.ConfigDict._iter_overlays ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._iter_overlays ``` ```` ````{py:method} _make_overlay() :canonical: arelle.webserver.bottle.ConfigDict._make_overlay ```{autodoc2-docstring} arelle.webserver.bottle.ConfigDict._make_overlay ``` ```` ````` `````{py:class} AppStack() :canonical: arelle.webserver.bottle.AppStack Bases: {py:obj}`list` ```{autodoc2-docstring} arelle.webserver.bottle.AppStack ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AppStack.__init__ ``` ````{py:method} __call__() :canonical: arelle.webserver.bottle.AppStack.__call__ ```{autodoc2-docstring} arelle.webserver.bottle.AppStack.__call__ ``` ```` ````{py:method} push(value=None) :canonical: arelle.webserver.bottle.AppStack.push ```{autodoc2-docstring} arelle.webserver.bottle.AppStack.push ``` ```` ````{py:attribute} new_app :canonical: arelle.webserver.bottle.AppStack.new_app :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.AppStack.new_app ``` ```` ````{py:property} default :canonical: arelle.webserver.bottle.AppStack.default ```{autodoc2-docstring} arelle.webserver.bottle.AppStack.default ``` ```` ````` `````{py:class} WSGIFileWrapper(fp, buffer_size=1024 * 64) :canonical: arelle.webserver.bottle.WSGIFileWrapper Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIFileWrapper ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIFileWrapper.__init__ ``` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.WSGIFileWrapper.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.WSGIFileWrapper.__iter__ ``` ```` ````` `````{py:class} _closeiter(iterator, close=None) :canonical: arelle.webserver.bottle._closeiter Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle._closeiter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle._closeiter.__init__ ``` ````{py:method} __iter__() :canonical: arelle.webserver.bottle._closeiter.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle._closeiter.__iter__ ``` ```` ````{py:method} close() :canonical: arelle.webserver.bottle._closeiter.close ```{autodoc2-docstring} arelle.webserver.bottle._closeiter.close ``` ```` ````` `````{py:class} ResourceManager(base='./', opener=open, cachemode='all') :canonical: arelle.webserver.bottle.ResourceManager Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager.__init__ ``` ````{py:method} add_path(path, base=None, index=None, create=False) :canonical: arelle.webserver.bottle.ResourceManager.add_path ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager.add_path ``` ```` ````{py:method} __iter__() :canonical: arelle.webserver.bottle.ResourceManager.__iter__ ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager.__iter__ ``` ```` ````{py:method} lookup(name) :canonical: arelle.webserver.bottle.ResourceManager.lookup ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager.lookup ``` ```` ````{py:method} open(name, mode='r', *args, **kwargs) :canonical: arelle.webserver.bottle.ResourceManager.open ```{autodoc2-docstring} arelle.webserver.bottle.ResourceManager.open ``` ```` ````` `````{py:class} FileUpload(fileobj, name, filename, headers=None) :canonical: arelle.webserver.bottle.FileUpload Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.__init__ ``` ````{py:attribute} content_type :canonical: arelle.webserver.bottle.FileUpload.content_type :value: > 'HeaderProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.content_type ``` ```` ````{py:attribute} content_length :canonical: arelle.webserver.bottle.FileUpload.content_length :value: > 'HeaderProperty(...)' ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.content_length ``` ```` ````{py:method} get_header(name, default=None) :canonical: arelle.webserver.bottle.FileUpload.get_header ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.get_header ``` ```` ````{py:method} filename() :canonical: arelle.webserver.bottle.FileUpload.filename ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.filename ``` ```` ````{py:method} _copy_file(fp, chunk_size=2**16) :canonical: arelle.webserver.bottle.FileUpload._copy_file ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload._copy_file ``` ```` ````{py:method} save(destination, overwrite=False, chunk_size=2**16) :canonical: arelle.webserver.bottle.FileUpload.save ```{autodoc2-docstring} arelle.webserver.bottle.FileUpload.save ``` ```` ````` ````{py:function} abort(code=500, text='Unknown Error.') :canonical: arelle.webserver.bottle.abort ```{autodoc2-docstring} arelle.webserver.bottle.abort ``` ```` ````{py:function} redirect(url, code=None) :canonical: arelle.webserver.bottle.redirect ```{autodoc2-docstring} arelle.webserver.bottle.redirect ``` ```` ````{py:function} _file_iter_range(fp, offset, bytes, maxread=1024 * 1024, close=False) :canonical: arelle.webserver.bottle._file_iter_range ```{autodoc2-docstring} arelle.webserver.bottle._file_iter_range ``` ```` ````{py:function} static_file(filename, root, mimetype=True, download=False, charset='UTF-8', etag=None, headers=None) -> arelle.webserver.bottle.HTTPResponse :canonical: arelle.webserver.bottle.static_file ```{autodoc2-docstring} arelle.webserver.bottle.static_file ``` ```` ````{py:function} debug(mode=True) :canonical: arelle.webserver.bottle.debug ```{autodoc2-docstring} arelle.webserver.bottle.debug ``` ```` ````{py:function} http_date(value) :canonical: arelle.webserver.bottle.http_date ```{autodoc2-docstring} arelle.webserver.bottle.http_date ``` ```` ````{py:function} parse_date(ims) :canonical: arelle.webserver.bottle.parse_date ```{autodoc2-docstring} arelle.webserver.bottle.parse_date ``` ```` ````{py:function} parse_auth(header) :canonical: arelle.webserver.bottle.parse_auth ```{autodoc2-docstring} arelle.webserver.bottle.parse_auth ``` ```` ````{py:function} parse_range_header(header, maxlen=0) :canonical: arelle.webserver.bottle.parse_range_header ```{autodoc2-docstring} arelle.webserver.bottle.parse_range_header ``` ```` ````{py:data} _hsplit :canonical: arelle.webserver.bottle._hsplit :value: > None ```{autodoc2-docstring} arelle.webserver.bottle._hsplit ``` ```` ````{py:function} _parse_http_header(h) :canonical: arelle.webserver.bottle._parse_http_header ```{autodoc2-docstring} arelle.webserver.bottle._parse_http_header ``` ```` ````{py:function} _parse_qsl(qs) :canonical: arelle.webserver.bottle._parse_qsl ```{autodoc2-docstring} arelle.webserver.bottle._parse_qsl ``` ```` ````{py:function} _lscmp(a, b) :canonical: arelle.webserver.bottle._lscmp ```{autodoc2-docstring} arelle.webserver.bottle._lscmp ``` ```` ````{py:function} cookie_encode(data, key, digestmod=None) :canonical: arelle.webserver.bottle.cookie_encode ```{autodoc2-docstring} arelle.webserver.bottle.cookie_encode ``` ```` ````{py:function} cookie_decode(data, key, digestmod=None) :canonical: arelle.webserver.bottle.cookie_decode ```{autodoc2-docstring} arelle.webserver.bottle.cookie_decode ``` ```` ````{py:function} cookie_is_encoded(data) :canonical: arelle.webserver.bottle.cookie_is_encoded ```{autodoc2-docstring} arelle.webserver.bottle.cookie_is_encoded ``` ```` ````{py:function} html_escape(string) :canonical: arelle.webserver.bottle.html_escape ```{autodoc2-docstring} arelle.webserver.bottle.html_escape ``` ```` ````{py:function} html_quote(string) :canonical: arelle.webserver.bottle.html_quote ```{autodoc2-docstring} arelle.webserver.bottle.html_quote ``` ```` ````{py:function} yieldroutes(func) :canonical: arelle.webserver.bottle.yieldroutes ```{autodoc2-docstring} arelle.webserver.bottle.yieldroutes ``` ```` ````{py:function} path_shift(script_name, path_info, shift=1) :canonical: arelle.webserver.bottle.path_shift ```{autodoc2-docstring} arelle.webserver.bottle.path_shift ``` ```` ````{py:function} auth_basic(check, realm='private', text='Access denied') :canonical: arelle.webserver.bottle.auth_basic ```{autodoc2-docstring} arelle.webserver.bottle.auth_basic ``` ```` ````{py:function} make_default_app_wrapper(name) :canonical: arelle.webserver.bottle.make_default_app_wrapper ```{autodoc2-docstring} arelle.webserver.bottle.make_default_app_wrapper ``` ```` ````{py:data} route :canonical: arelle.webserver.bottle.route :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.route ``` ```` ````{py:data} get :canonical: arelle.webserver.bottle.get :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.get ``` ```` ````{py:data} post :canonical: arelle.webserver.bottle.post :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.post ``` ```` ````{py:data} put :canonical: arelle.webserver.bottle.put :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.put ``` ```` ````{py:data} delete :canonical: arelle.webserver.bottle.delete :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.delete ``` ```` ````{py:data} patch :canonical: arelle.webserver.bottle.patch :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.patch ``` ```` ````{py:data} error :canonical: arelle.webserver.bottle.error :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.error ``` ```` ````{py:data} mount :canonical: arelle.webserver.bottle.mount :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.mount ``` ```` ````{py:data} hook :canonical: arelle.webserver.bottle.hook :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.hook ``` ```` ````{py:data} install :canonical: arelle.webserver.bottle.install :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.install ``` ```` ````{py:data} uninstall :canonical: arelle.webserver.bottle.uninstall :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.uninstall ``` ```` ````{py:data} url :canonical: arelle.webserver.bottle.url :value: > 'make_default_app_wrapper(...)' ```{autodoc2-docstring} arelle.webserver.bottle.url ``` ```` `````{py:class} ServerAdapter(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.ServerAdapter Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.ServerAdapter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.ServerAdapter.__init__ ``` ````{py:attribute} quiet :canonical: arelle.webserver.bottle.ServerAdapter.quiet :value: > False ```{autodoc2-docstring} arelle.webserver.bottle.ServerAdapter.quiet ``` ```` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.ServerAdapter.run ```{autodoc2-docstring} arelle.webserver.bottle.ServerAdapter.run ``` ```` ````{py:method} __repr__() :canonical: arelle.webserver.bottle.ServerAdapter.__repr__ ```` ````` `````{py:class} CGIServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.CGIServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.CGIServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.CGIServer.__init__ ``` ````{py:attribute} quiet :canonical: arelle.webserver.bottle.CGIServer.quiet :value: > True ```{autodoc2-docstring} arelle.webserver.bottle.CGIServer.quiet ``` ```` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.CGIServer.run ```{autodoc2-docstring} arelle.webserver.bottle.CGIServer.run ``` ```` ````` `````{py:class} FlupFCGIServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.FlupFCGIServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.FlupFCGIServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.FlupFCGIServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.FlupFCGIServer.run ```{autodoc2-docstring} arelle.webserver.bottle.FlupFCGIServer.run ``` ```` ````` `````{py:class} WSGIRefServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.WSGIRefServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIRefServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.WSGIRefServer.__init__ ``` ````{py:method} run(app) :canonical: arelle.webserver.bottle.WSGIRefServer.run ```{autodoc2-docstring} arelle.webserver.bottle.WSGIRefServer.run ``` ```` ````` `````{py:class} CherryPyServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.CherryPyServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.CherryPyServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.CherryPyServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.CherryPyServer.run ```{autodoc2-docstring} arelle.webserver.bottle.CherryPyServer.run ``` ```` ````` `````{py:class} CherootServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.CherootServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.CherootServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.CherootServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.CherootServer.run ```{autodoc2-docstring} arelle.webserver.bottle.CherootServer.run ``` ```` ````` `````{py:class} WaitressServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.WaitressServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.WaitressServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.WaitressServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.WaitressServer.run ```{autodoc2-docstring} arelle.webserver.bottle.WaitressServer.run ``` ```` ````` `````{py:class} PasteServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.PasteServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.PasteServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.PasteServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.PasteServer.run ```{autodoc2-docstring} arelle.webserver.bottle.PasteServer.run ``` ```` ````` `````{py:class} MeinheldServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.MeinheldServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.MeinheldServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.MeinheldServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.MeinheldServer.run ```{autodoc2-docstring} arelle.webserver.bottle.MeinheldServer.run ``` ```` ````` `````{py:class} FapwsServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.FapwsServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.FapwsServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.FapwsServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.FapwsServer.run ```{autodoc2-docstring} arelle.webserver.bottle.FapwsServer.run ``` ```` ````` `````{py:class} TornadoServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.TornadoServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.TornadoServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.TornadoServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.TornadoServer.run ```{autodoc2-docstring} arelle.webserver.bottle.TornadoServer.run ``` ```` ````` `````{py:class} AppEngineServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.AppEngineServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.AppEngineServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AppEngineServer.__init__ ``` ````{py:attribute} quiet :canonical: arelle.webserver.bottle.AppEngineServer.quiet :value: > True ```{autodoc2-docstring} arelle.webserver.bottle.AppEngineServer.quiet ``` ```` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.AppEngineServer.run ```{autodoc2-docstring} arelle.webserver.bottle.AppEngineServer.run ``` ```` ````` `````{py:class} TwistedServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.TwistedServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.TwistedServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.TwistedServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.TwistedServer.run ```{autodoc2-docstring} arelle.webserver.bottle.TwistedServer.run ``` ```` ````` `````{py:class} DieselServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.DieselServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.DieselServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.DieselServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.DieselServer.run ```{autodoc2-docstring} arelle.webserver.bottle.DieselServer.run ``` ```` ````` `````{py:class} GeventServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.GeventServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.GeventServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.GeventServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.GeventServer.run ```{autodoc2-docstring} arelle.webserver.bottle.GeventServer.run ``` ```` ````` `````{py:class} GunicornServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.GunicornServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.GunicornServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.GunicornServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.GunicornServer.run ```{autodoc2-docstring} arelle.webserver.bottle.GunicornServer.run ``` ```` ````` `````{py:class} EventletServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.EventletServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.EventletServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.EventletServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.EventletServer.run ```{autodoc2-docstring} arelle.webserver.bottle.EventletServer.run ``` ```` ````` `````{py:class} BjoernServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.BjoernServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.BjoernServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.BjoernServer.__init__ ``` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.BjoernServer.run ```{autodoc2-docstring} arelle.webserver.bottle.BjoernServer.run ``` ```` ````` `````{py:class} AsyncioServerAdapter(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.AsyncioServerAdapter Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.AsyncioServerAdapter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AsyncioServerAdapter.__init__ ``` ````{py:method} get_event_loop() :canonical: arelle.webserver.bottle.AsyncioServerAdapter.get_event_loop ```{autodoc2-docstring} arelle.webserver.bottle.AsyncioServerAdapter.get_event_loop ``` ```` ````` `````{py:class} AiohttpServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.AiohttpServer Bases: {py:obj}`arelle.webserver.bottle.AsyncioServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpServer.__init__ ``` ````{py:method} get_event_loop() :canonical: arelle.webserver.bottle.AiohttpServer.get_event_loop ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpServer.get_event_loop ``` ```` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.AiohttpServer.run ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpServer.run ``` ```` ````` `````{py:class} AiohttpUVLoopServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.AiohttpUVLoopServer Bases: {py:obj}`arelle.webserver.bottle.AiohttpServer` ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpUVLoopServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpUVLoopServer.__init__ ``` ````{py:method} get_event_loop() :canonical: arelle.webserver.bottle.AiohttpUVLoopServer.get_event_loop ```{autodoc2-docstring} arelle.webserver.bottle.AiohttpUVLoopServer.get_event_loop ``` ```` ````` `````{py:class} AutoServer(host='127.0.0.1', port=8080, **options) :canonical: arelle.webserver.bottle.AutoServer Bases: {py:obj}`arelle.webserver.bottle.ServerAdapter` ```{autodoc2-docstring} arelle.webserver.bottle.AutoServer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.AutoServer.__init__ ``` ````{py:attribute} adapters :canonical: arelle.webserver.bottle.AutoServer.adapters :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.AutoServer.adapters ``` ```` ````{py:method} run(handler) :canonical: arelle.webserver.bottle.AutoServer.run ```{autodoc2-docstring} arelle.webserver.bottle.AutoServer.run ``` ```` ````` ````{py:data} server_names :canonical: arelle.webserver.bottle.server_names :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.server_names ``` ```` ````{py:function} load(target, **namespace) :canonical: arelle.webserver.bottle.load ```{autodoc2-docstring} arelle.webserver.bottle.load ``` ```` ````{py:function} load_app(target) :canonical: arelle.webserver.bottle.load_app ```{autodoc2-docstring} arelle.webserver.bottle.load_app ``` ```` ````{py:data} _debug :canonical: arelle.webserver.bottle._debug :value: > None ```{autodoc2-docstring} arelle.webserver.bottle._debug ``` ```` ````{py:function} run(app=None, server='wsgiref', host='127.0.0.1', port=8080, interval=1, reloader=False, quiet=False, plugins=None, debug=None, config=None, **kargs) :canonical: arelle.webserver.bottle.run ```{autodoc2-docstring} arelle.webserver.bottle.run ``` ```` `````{py:class} FileCheckerThread(lockfile, interval) :canonical: arelle.webserver.bottle.FileCheckerThread Bases: {py:obj}`threading.Thread` ```{autodoc2-docstring} arelle.webserver.bottle.FileCheckerThread ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.FileCheckerThread.__init__ ``` ````{py:method} run() :canonical: arelle.webserver.bottle.FileCheckerThread.run ```` ````{py:method} __enter__() :canonical: arelle.webserver.bottle.FileCheckerThread.__enter__ ```{autodoc2-docstring} arelle.webserver.bottle.FileCheckerThread.__enter__ ``` ```` ````{py:method} __exit__(exc_type, *_) :canonical: arelle.webserver.bottle.FileCheckerThread.__exit__ ```{autodoc2-docstring} arelle.webserver.bottle.FileCheckerThread.__exit__ ``` ```` ````` ```{py:exception} TemplateError() :canonical: arelle.webserver.bottle.TemplateError Bases: {py:obj}`arelle.webserver.bottle.BottleException` ``` `````{py:class} BaseTemplate(source=None, name=None, lookup=None, encoding='utf8', **settings) :canonical: arelle.webserver.bottle.BaseTemplate Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.__init__ ``` ````{py:attribute} extensions :canonical: arelle.webserver.bottle.BaseTemplate.extensions :value: > ['tpl', 'html', 'thtml', 'stpl'] ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.extensions ``` ```` ````{py:attribute} settings :canonical: arelle.webserver.bottle.BaseTemplate.settings :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.settings ``` ```` ````{py:attribute} defaults :canonical: arelle.webserver.bottle.BaseTemplate.defaults :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.defaults ``` ```` ````{py:method} search(name, lookup=None) :canonical: arelle.webserver.bottle.BaseTemplate.search :classmethod: ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.search ``` ```` ````{py:method} global_config(key, *args) :canonical: arelle.webserver.bottle.BaseTemplate.global_config :classmethod: ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.global_config ``` ```` ````{py:method} prepare(**options) :canonical: arelle.webserver.bottle.BaseTemplate.prepare :abstractmethod: ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.prepare ``` ```` ````{py:method} render(*args, **kwargs) :canonical: arelle.webserver.bottle.BaseTemplate.render :abstractmethod: ```{autodoc2-docstring} arelle.webserver.bottle.BaseTemplate.render ``` ```` ````` `````{py:class} MakoTemplate(source=None, name=None, lookup=None, encoding='utf8', **settings) :canonical: arelle.webserver.bottle.MakoTemplate Bases: {py:obj}`arelle.webserver.bottle.BaseTemplate` ````{py:method} prepare(**options) :canonical: arelle.webserver.bottle.MakoTemplate.prepare ```` ````{py:method} render(*args, **kwargs) :canonical: arelle.webserver.bottle.MakoTemplate.render ```` ````` `````{py:class} CheetahTemplate(source=None, name=None, lookup=None, encoding='utf8', **settings) :canonical: arelle.webserver.bottle.CheetahTemplate Bases: {py:obj}`arelle.webserver.bottle.BaseTemplate` ````{py:method} prepare(**options) :canonical: arelle.webserver.bottle.CheetahTemplate.prepare ```` ````{py:method} render(*args, **kwargs) :canonical: arelle.webserver.bottle.CheetahTemplate.render ```` ````` `````{py:class} Jinja2Template(source=None, name=None, lookup=None, encoding='utf8', **settings) :canonical: arelle.webserver.bottle.Jinja2Template Bases: {py:obj}`arelle.webserver.bottle.BaseTemplate` ````{py:method} prepare(filters=None, tests=None, globals={}, **kwargs) :canonical: arelle.webserver.bottle.Jinja2Template.prepare ```` ````{py:method} render(*args, **kwargs) :canonical: arelle.webserver.bottle.Jinja2Template.render ```` ````{py:method} loader(name) :canonical: arelle.webserver.bottle.Jinja2Template.loader ```{autodoc2-docstring} arelle.webserver.bottle.Jinja2Template.loader ``` ```` ````` `````{py:class} SimpleTemplate(source=None, name=None, lookup=None, encoding='utf8', **settings) :canonical: arelle.webserver.bottle.SimpleTemplate Bases: {py:obj}`arelle.webserver.bottle.BaseTemplate` ````{py:method} prepare(escape_func=html_escape, noescape=False, syntax=None, **ka) :canonical: arelle.webserver.bottle.SimpleTemplate.prepare ```` ````{py:method} co() :canonical: arelle.webserver.bottle.SimpleTemplate.co ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate.co ``` ```` ````{py:method} code() :canonical: arelle.webserver.bottle.SimpleTemplate.code ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate.code ``` ```` ````{py:method} _rebase(_env, _name=None, **kwargs) :canonical: arelle.webserver.bottle.SimpleTemplate._rebase ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate._rebase ``` ```` ````{py:method} _include(_env, _name=None, **kwargs) :canonical: arelle.webserver.bottle.SimpleTemplate._include ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate._include ``` ```` ````{py:method} execute(_stdout, kwargs) :canonical: arelle.webserver.bottle.SimpleTemplate.execute ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate.execute ``` ```` ````{py:method} render(*args, **kwargs) :canonical: arelle.webserver.bottle.SimpleTemplate.render ```{autodoc2-docstring} arelle.webserver.bottle.SimpleTemplate.render ``` ```` ````` ```{py:exception} StplSyntaxError() :canonical: arelle.webserver.bottle.StplSyntaxError Bases: {py:obj}`arelle.webserver.bottle.TemplateError` ``` `````{py:class} StplParser(source, syntax=None, encoding='utf8') :canonical: arelle.webserver.bottle.StplParser Bases: {py:obj}`object` ```{autodoc2-docstring} arelle.webserver.bottle.StplParser ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.__init__ ``` ````{py:attribute} _re_cache :canonical: arelle.webserver.bottle.StplParser._re_cache :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.StplParser._re_cache ``` ```` ````{py:attribute} _re_tok :canonical: arelle.webserver.bottle.StplParser._re_tok :value: ```{autodoc2-docstring} arelle.webserver.bottle.StplParser._re_tok ``` ```` ````{py:attribute} _re_inl :canonical: arelle.webserver.bottle.StplParser._re_inl :value: > 'replace(...)' ```{autodoc2-docstring} arelle.webserver.bottle.StplParser._re_inl ``` ```` ````{py:attribute} _re_split :canonical: arelle.webserver.bottle.StplParser._re_split :value: > '(?m)^[ \\t]*(\\\\?)((%(line_start)s)|(%(block_start)s))' ```{autodoc2-docstring} arelle.webserver.bottle.StplParser._re_split ``` ```` ````{py:attribute} default_syntax :canonical: arelle.webserver.bottle.StplParser.default_syntax :value: > '<% %> % {{ }}' ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.default_syntax ``` ```` ````{py:method} get_syntax() :canonical: arelle.webserver.bottle.StplParser.get_syntax ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.get_syntax ``` ```` ````{py:method} set_syntax(syntax) :canonical: arelle.webserver.bottle.StplParser.set_syntax ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.set_syntax ``` ```` ````{py:attribute} syntax :canonical: arelle.webserver.bottle.StplParser.syntax :value: > 'property(...)' ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.syntax ``` ```` ````{py:method} translate() :canonical: arelle.webserver.bottle.StplParser.translate ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.translate ``` ```` ````{py:method} read_code(pysource, multiline) :canonical: arelle.webserver.bottle.StplParser.read_code ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.read_code ``` ```` ````{py:method} flush_text() :canonical: arelle.webserver.bottle.StplParser.flush_text ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.flush_text ``` ```` ````{py:method} process_inline(chunk) :canonical: arelle.webserver.bottle.StplParser.process_inline :staticmethod: ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.process_inline ``` ```` ````{py:method} write_code(line, comment='') :canonical: arelle.webserver.bottle.StplParser.write_code ```{autodoc2-docstring} arelle.webserver.bottle.StplParser.write_code ``` ```` ````` ````{py:function} template(*args, **kwargs) :canonical: arelle.webserver.bottle.template ```{autodoc2-docstring} arelle.webserver.bottle.template ``` ```` ````{py:data} mako_template :canonical: arelle.webserver.bottle.mako_template :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.mako_template ``` ```` ````{py:data} cheetah_template :canonical: arelle.webserver.bottle.cheetah_template :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.cheetah_template ``` ```` ````{py:data} jinja2_template :canonical: arelle.webserver.bottle.jinja2_template :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.jinja2_template ``` ```` ````{py:function} view(tpl_name, **defaults) :canonical: arelle.webserver.bottle.view ```{autodoc2-docstring} arelle.webserver.bottle.view ``` ```` ````{py:data} mako_view :canonical: arelle.webserver.bottle.mako_view :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.mako_view ``` ```` ````{py:data} cheetah_view :canonical: arelle.webserver.bottle.cheetah_view :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.cheetah_view ``` ```` ````{py:data} jinja2_view :canonical: arelle.webserver.bottle.jinja2_view :value: > 'partial(...)' ```{autodoc2-docstring} arelle.webserver.bottle.jinja2_view ``` ```` ````{py:data} TEMPLATE_PATH :canonical: arelle.webserver.bottle.TEMPLATE_PATH :value: > ['./', './views/'] ```{autodoc2-docstring} arelle.webserver.bottle.TEMPLATE_PATH ``` ```` ````{py:data} TEMPLATES :canonical: arelle.webserver.bottle.TEMPLATES :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.TEMPLATES ``` ```` ````{py:data} DEBUG :canonical: arelle.webserver.bottle.DEBUG :value: > False ```{autodoc2-docstring} arelle.webserver.bottle.DEBUG ``` ```` ````{py:data} NORUN :canonical: arelle.webserver.bottle.NORUN :value: > False ```{autodoc2-docstring} arelle.webserver.bottle.NORUN ``` ```` ````{py:data} HTTP_CODES :canonical: arelle.webserver.bottle.HTTP_CODES :value: > 'copy(...)' ```{autodoc2-docstring} arelle.webserver.bottle.HTTP_CODES ``` ```` ````{py:data} _HTTP_STATUS_LINES :canonical: arelle.webserver.bottle._HTTP_STATUS_LINES :value: > 'dict(...)' ```{autodoc2-docstring} arelle.webserver.bottle._HTTP_STATUS_LINES ``` ```` ````{py:data} ERROR_PAGE_TEMPLATE :canonical: arelle.webserver.bottle.ERROR_PAGE_TEMPLATE :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.ERROR_PAGE_TEMPLATE ``` ```` ````{py:data} request :canonical: arelle.webserver.bottle.request :value: > 'LocalRequest(...)' ```{autodoc2-docstring} arelle.webserver.bottle.request ``` ```` ````{py:data} response :canonical: arelle.webserver.bottle.response :value: > 'LocalResponse(...)' ```{autodoc2-docstring} arelle.webserver.bottle.response ``` ```` ````{py:data} local :canonical: arelle.webserver.bottle.local :value: > 'local(...)' ```{autodoc2-docstring} arelle.webserver.bottle.local ``` ```` ````{py:data} ext :canonical: arelle.webserver.bottle.ext :value: > None ```{autodoc2-docstring} arelle.webserver.bottle.ext ``` ```` ````{py:function} _main(argv) :canonical: arelle.webserver.bottle._main ```{autodoc2-docstring} arelle.webserver.bottle._main ``` ````