arelle.CntlrWebMain

Use this module to start Arelle in web server mode.

See COPYRIGHT.md for copyright information.

Module Contents

Functions

getCntlr

setCntlr

getLogHandler

getRuntimeOptions

setRuntimeOptions

startWebserver

Called once from main program in CmtlrCmdLine to initiate web server on specified local port.

cgiInterface

login_form

Request for a login form (get to /rest/login). Corresponds to login from other providers of XBRL validation services, but this version of Arelle does not perform accounting or charges for validation requests, so the login is ignored.

login_submit

Login of fields from login form (post to /rest/login). Saves user ID for future use.

checkLogin

Save user ID for future use. Password not currently processed.

logout

Request to log out (get /rest/logout). Removes any proior user ID from session.

arelleIcon

Request for icon for URL display (get /favicon.ico).

image

Request for an image file for URL display (get /images/).

validation

REST request to validate, by get or post, to URL patterns including /rest/xbrl/<file:path>/{open|close|validation|DTS…}, and /rest/xbrl/{view|open|close}. Sets up CntrlCmdLine options for request, performed by runOptionsAndGetResult using CntlrCmdLine.run with get or post arguments.

runOptionsAndGetResult

Execute request according to options, for result in media, with posted file in sourceZipStream, if any.

diff

Execute versioning diff request for get request to /rest/xbrl/diff.

configure

Set up features for get requests to /rest/configure, e.g., proxy or plug-ins.

stopWebServer

Stop the web server by get requests to /rest/stopWebServer.

testTest

quickbooksServer

Interface to QuickBooks server responding to post requests to /quickbooks/server.asmx.

quickbooksGLrequest

Initiate request to QuickBooks server for get requests to /rest/quickbooks//xbrl-gl/….

quickbooksGLresponse

Poll for QuickBooks protocol responses for get requests to /rest/quickbooks/response.

quickbooksWebPage

localhostCertificate

Interface to QuickBooks server responding to get requests for a host certificate /quickbooks/localhost.crt or /localhost.crt.

helpREST

Help web page for get requests to /help.

about

indexPageREST

Index (default) web page for get requests to /.

indexPageCGI

Default web page response for get CGI request with no parameters.

htmlBody

Wraps body html string in a css-styled html web page

tableRows

Wraps lines of text into a one-column table (for display of text results of operations, such as processing messages and status, to web browser). Replaces any & with & and < with <.

errorReport

Wraps lines of error text into specified media type for return of result to a request.

multipartResponse

Data

API

arelle.CntlrWebMain._: arelle.typing.TypeGetText

None

arelle.CntlrWebMain.Options

None

arelle.CntlrWebMain._os_pid

‘getpid(…)’

arelle.CntlrWebMain.GETorPOST

(‘GET’, ‘POST’)

arelle.CntlrWebMain.GET

‘GET’

arelle.CntlrWebMain.POST

‘POST’

arelle.CntlrWebMain._CNTLR: arelle.CntlrCmdLine.CntlrCmdLine | None

None

arelle.CntlrWebMain.getCntlr() arelle.CntlrCmdLine.CntlrCmdLine
arelle.CntlrWebMain.setCntlr(cntlr: arelle.CntlrCmdLine.CntlrCmdLine) None
arelle.CntlrWebMain.getLogHandler() arelle.Cntlr.LogToBufferHandler
arelle.CntlrWebMain._RUNTIME_OPTIONS: arelle.RuntimeOptions.RuntimeOptions | None

None

arelle.CntlrWebMain.getRuntimeOptions() arelle.RuntimeOptions.RuntimeOptions
arelle.CntlrWebMain.setRuntimeOptions(runtimeOptions: arelle.RuntimeOptions.RuntimeOptions) None
arelle.CntlrWebMain.startWebserver(cntlr: arelle.CntlrCmdLine.CntlrCmdLine, options: arelle.RuntimeOptions.RuntimeOptions) arelle.webserver.bottle.Bottle | None

Called once from main program in CmtlrCmdLine to initiate web server on specified local port.

arelle.CntlrWebMain.cgiInterface(cgiAppPath: str) str | arelle.webserver.bottle.HTTPResponse
arelle.CntlrWebMain.login_form() str

Request for a login form (get to /rest/login). Corresponds to login from other providers of XBRL validation services, but this version of Arelle does not perform accounting or charges for validation requests, so the login is ignored.

Returns:

str – HTML login form to enter and submit via method=POST these fields: name, password

arelle.CntlrWebMain.login_submit() str

Login of fields from login form (post to /rest/login). Saves user ID for future use.

Parameters:
  • name – User ID

  • password – Password

arelle.CntlrWebMain.user: str | None

None

arelle.CntlrWebMain.checkLogin(_user: str | None, _password: str | None) bool

Save user ID for future use. Password not currently processed.

Returns:

bool – True (for now, future user may interact with authentication and accounting services.)

arelle.CntlrWebMain.logout() str

Request to log out (get /rest/logout). Removes any proior user ID from session.

Returns:

html – Message that user has logged out

arelle.CntlrWebMain.arelleIcon() arelle.webserver.bottle.HTTPResponse

Request for icon for URL display (get /favicon.ico).

Returns:

ico – Icon file for browsers

arelle.CntlrWebMain.image(imgFile: str) arelle.webserver.bottle.HTTPResponse

Request for an image file for URL display (get /images/).

Returns:

image file – Requested image file from images directory of application for browsers

arelle.CntlrWebMain.validationOptions

None

arelle.CntlrWebMain.validationKeyVarName

None

arelle.CntlrWebMain.supportedViews

None

arelle.CntlrWebMain.validation(file: str | None = None) str | bytes

REST request to validate, by get or post, to URL patterns including /rest/xbrl/<file:path>/{open|close|validation|DTS…}, and /rest/xbrl/{view|open|close}. Sets up CntrlCmdLine options for request, performed by runOptionsAndGetResult using CntlrCmdLine.run with get or post arguments.

Returns:

html, xhtml, xml, json, text – Return per media type argument and request arguments

arelle.CntlrWebMain.runOptionsAndGetResult(options: arelle.RuntimeOptions.RuntimeOptions, media: str, viewFile: arelle.FileSource.FileNamedStringIO | None, sourceZipStream: arelle.FileSource.FileNamedStringIO | None = None) str | bytes

Execute request according to options, for result in media, with posted file in sourceZipStream, if any.

Returns:

html, xml, csv, text – Return per media type argument and request arguments

arelle.CntlrWebMain.diff() str

Execute versioning diff request for get request to /rest/xbrl/diff.

Returns:

xml – Versioning report.

arelle.CntlrWebMain.configure() str

Set up features for get requests to /rest/configure, e.g., proxy or plug-ins.

Returns:

html – Status of configuration request (e.g., proxy or plug-ins).

arelle.CntlrWebMain.stopWebServer() str

Stop the web server by get requests to /rest/stopWebServer.

arelle.CntlrWebMain.testTest() str
arelle.CntlrWebMain.quickbooksServer() str

Interface to QuickBooks server responding to post requests to /quickbooks/server.asmx.

(Part of QuickBooks protocol, see module CntlrQuickBooks.)

arelle.CntlrWebMain.quickbooksGLrequest(qbReport: str | None = None, file: str | None = None) str

Initiate request to QuickBooks server for get requests to /rest/quickbooks//xbrl-gl/….

Returns:

html, xml, csv, text – Return per media type argument and request arguments

arelle.CntlrWebMain.quickbooksGLresponse() str | bytes

Poll for QuickBooks protocol responses for get requests to /rest/quickbooks/response.

Returns:

html, xml, csv, text – Return per media type argument and request arguments, if response is ready, otherwise javascript to requery this get request periodicially.

arelle.CntlrWebMain.quickbooksWebPage() str
arelle.CntlrWebMain.localhostCertificate() str

Interface to QuickBooks server responding to get requests for a host certificate /quickbooks/localhost.crt or /localhost.crt.

(Supports QuickBooks protocol.)

Returns:

self-signed certificate

arelle.CntlrWebMain.helpREST() str

Help web page for get requests to /help.

Returns:

html - Table of CntlrWebMain web API

arelle.CntlrWebMain.about(arelleImgFile: str | None = None) str
arelle.CntlrWebMain.indexPageREST() str

Index (default) web page for get requests to /.

Returns:

html - Web page of choices to navigate to /help or /about.

arelle.CntlrWebMain.indexPageCGI() str

Default web page response for get CGI request with no parameters.

Returns:

html - Web page of choices to navigate to ?help or ?about.

arelle.CntlrWebMain.htmlBody(body: str, script: str = '') str

Wraps body html string in a css-styled html web page

Parameters:
  • body (html str) – Contents for the element

  • script (javascript str) – Script to insert in generated html web page (such as a timed reload script)

Returns:

html - Web page of choices to navigate to /help or /about.

arelle.CntlrWebMain.tableRows(lines: collections.abc.Iterable[str], header: str | None = None) str

Wraps lines of text into a one-column table (for display of text results of operations, such as processing messages and status, to web browser). Replaces any & with & and < with <.

Parameters:
  • lines ([str]) – Sequence (list or tuple) of line strings.

  • header (str) – Optional header text for top row of table.

Returns:

html -

html string.

arelle.CntlrWebMain.errorReport(errors: list[str], media: str = 'html') str

Wraps lines of error text into specified media type for return of result to a request.

Parameters:
  • errors ([str]) – Sequence (list or tuple) of error strings.

  • media (str) – Type of result requestd.

Returns:

html -

html string.

arelle.CntlrWebMain.multipartResponse(parts: tuple[tuple[str, str, str], ...]) str