HEX
Server: nginx/1.18.0
System: Linux vps-9dcdb12e 5.15.0-176-generic #186-Ubuntu SMP Fri Mar 13 11:01:42 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.24
Disabled: exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Upload Files
File: //lib/python3/dist-packages/twisted/python/_appdirs.py
# -*- test-case-name: twisted.python.test.test_appdirs -*-
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

"""
Application data directory support.
"""

import inspect
from typing import cast

import appdirs  # type: ignore[import]

from twisted.python.compat import currentframe


def getDataDirectory(moduleName: str = "") -> str:
    """
    Get a data directory for the caller function, or C{moduleName} if given.

    @param moduleName: The module name if you don't wish to have the caller's
        module.

    @returns: A directory for putting data in.
    """
    if not moduleName:
        caller = currentframe(1)
        module = inspect.getmodule(caller)
        assert module is not None
        moduleName = module.__name__

    return cast(str, appdirs.user_data_dir(moduleName))