Skip to content

Prepare cloakbrowser

prepare_cloakbrowser

Download cloakbrowser to be called from other languages like VBA return location and call parameters via INI-file

ParamsClass

cloakbrowser_cache_dir: str | None = None class-attribute instance-attribute

params_inifile: str | None = None class-attribute instance-attribute

executeMain(params: ParamsClass) -> None

main routine to download/initialize CloakBrowser and return informationv ia INI-fiel to caller

Parameters:

Name Type Description Default
params

parameter dataclass filled via CLI

required
Source code in src\utils_msoffice\prepare_cloakbrowser.py
def executeMain(params: ParamsClass) -> None:
    """
    main routine to download/initialize CloakBrowser and return informationv ia INI-fiel to caller

    Args:
        params (): parameter dataclass filled via CLI
    """

    # determine cache path for cloakbrowser
    if params.cloakbrowser_cache_dir is None:
        params.cloakbrowser_cache_dir = os.path.join(tempfile.gettempdir(), "cloakbrowser")
    os.environ["CLOAKBROWSER_CACHE_DIR"] = params.cloakbrowser_cache_dir
    # determine ini file for parameters calling cloakbrowser externally
    if params.params_inifile is None:
        params.params_inifile = os.path.join(tempfile.gettempdir(), "cloakbrowser.ini")

    # determine content of ini file
    config = configparser.ConfigParser()
    config.add_section("cloakbrowser")
    config["cloakbrowser"]["binary_path"] = ensure_binary()
    config["cloakbrowser"]["stealth_args"] = ",".join(get_default_stealth_args())

    # write back ini file
    with open(params.params_inifile, 'w') as configfile:
        config.write(configfile)

executeStandaloneTest() -> None

execute standalone test

Source code in src\utils_msoffice\prepare_cloakbrowser.py
def executeStandaloneTest() -> None:
    """
    execute standalone test
    """

    paramsparser = ParamsClass()
    params = paramsparser.parse_args()
    executeMain(params)

executeVBAcallee() -> None

callee from VBA (or other language via CLI)

Source code in src\utils_msoffice\prepare_cloakbrowser.py
def executeVBAcallee() -> None:
    """
    callee from VBA (or other language via CLI)
    """

    Utils.log_cli_args()
    paramsparser = ParamsClass(explicit_bool=True)
    params = paramsparser.parse_args()
    Utils.log_cli_params(params)

    executeMain(params)