diff options
| author | robot-piglet <[email protected]> | 2026-04-25 09:59:06 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2026-04-25 10:48:12 +0300 |
| commit | 2d1f62f74cd0c77eb52992b92e18aa3cd85579cf (patch) | |
| tree | 80779077077b0549f9649fd2f187117eebf91100 /contrib/python/platformdirs | |
| parent | e1a7571be0fe6bcf30b7aad897281b174448b30e (diff) | |
Intermediate changes
commit_hash:e3b2da3e3b235008d754774ecba3c22b082c285d
Diffstat (limited to 'contrib/python/platformdirs')
| -rw-r--r-- | contrib/python/platformdirs/.dist-info/METADATA | 2 | ||||
| -rw-r--r-- | contrib/python/platformdirs/platformdirs/_xdg.py | 6 | ||||
| -rw-r--r-- | contrib/python/platformdirs/platformdirs/api.py | 19 | ||||
| -rw-r--r-- | contrib/python/platformdirs/platformdirs/macos.py | 24 | ||||
| -rw-r--r-- | contrib/python/platformdirs/platformdirs/unix.py | 6 | ||||
| -rw-r--r-- | contrib/python/platformdirs/platformdirs/version.py | 26 | ||||
| -rw-r--r-- | contrib/python/platformdirs/ya.make | 2 |
7 files changed, 51 insertions, 34 deletions
diff --git a/contrib/python/platformdirs/.dist-info/METADATA b/contrib/python/platformdirs/.dist-info/METADATA index c2b3e9e8f15..f9ac753abd2 100644 --- a/contrib/python/platformdirs/.dist-info/METADATA +++ b/contrib/python/platformdirs/.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: platformdirs -Version: 4.9.4 +Version: 4.9.6 Summary: A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`. Project-URL: Changelog, https://platformdirs.readthedocs.io/en/latest/changelog.html Project-URL: Documentation, https://platformdirs.readthedocs.io diff --git a/contrib/python/platformdirs/platformdirs/_xdg.py b/contrib/python/platformdirs/platformdirs/_xdg.py index c4aadd6d031..5ffbf93eb57 100644 --- a/contrib/python/platformdirs/platformdirs/_xdg.py +++ b/contrib/python/platformdirs/platformdirs/_xdg.py @@ -21,7 +21,7 @@ class XDGMixin(PlatformDirsABC): def _site_data_dirs(self) -> list[str]: if xdg_dirs := os.environ.get("XDG_DATA_DIRS", "").strip(): return [self._append_app_name_and_version(p) for p in xdg_dirs.split(os.pathsep) if p.strip()] - return super()._site_data_dirs # type: ignore[misc] + return super()._site_data_dirs @property def site_data_dir(self) -> str: @@ -40,7 +40,7 @@ class XDGMixin(PlatformDirsABC): def _site_config_dirs(self) -> list[str]: if xdg_dirs := os.environ.get("XDG_CONFIG_DIRS", "").strip(): return [self._append_app_name_and_version(p) for p in xdg_dirs.split(os.pathsep) if p.strip()] - return super()._site_config_dirs # type: ignore[misc] + return super()._site_config_dirs @property def site_config_dir(self) -> str: @@ -129,7 +129,7 @@ class XDGMixin(PlatformDirsABC): def _site_applications_dirs(self) -> list[str]: if xdg_dirs := os.environ.get("XDG_DATA_DIRS", "").strip(): return [os.path.join(p, "applications") for p in xdg_dirs.split(os.pathsep) if p.strip()] # noqa: PTH118 - return super()._site_applications_dirs # type: ignore[misc] + return super()._site_applications_dirs @property def site_applications_dir(self) -> str: diff --git a/contrib/python/platformdirs/platformdirs/api.py b/contrib/python/platformdirs/platformdirs/api.py index 1ee29adb5be..1e3b9a97c65 100644 --- a/contrib/python/platformdirs/platformdirs/api.py +++ b/contrib/python/platformdirs/platformdirs/api.py @@ -50,6 +50,13 @@ class PlatformDirsABC(ABC): # noqa: PLR0904 Typically, it is the owning company name. Defaults to `appname`. You may pass ``False`` to disable it. + .. note:: + + On Windows, the directory structure is ``<base>/<appauthor>/<appname>``. When ``appauthor`` is ``None`` (the + default), it falls back to ``appname``, resulting in ``<base>/<appname>/<appname>`` (e.g. + ``AppData/Local/myapp/myapp``). Pass ``appauthor=False`` to omit the author directory entirely and get + ``<base>/<appname>``. + """ self.version = version """An optional version path element to append to the path. @@ -124,6 +131,10 @@ class PlatformDirsABC(ABC): # noqa: PLR0904 """:returns: data directory shared by users""" @property + def _site_data_dirs(self) -> list[str]: + raise NotImplementedError + + @property @abstractmethod def user_config_dir(self) -> str: """:returns: config directory tied to the user""" @@ -134,6 +145,10 @@ class PlatformDirsABC(ABC): # noqa: PLR0904 """:returns: config directory shared by users""" @property + def _site_config_dirs(self) -> list[str]: + raise NotImplementedError + + @property @abstractmethod def user_cache_dir(self) -> str: """:returns: cache directory tied to the user""" @@ -214,6 +229,10 @@ class PlatformDirsABC(ABC): # noqa: PLR0904 """:returns: applications directory shared by users""" @property + def _site_applications_dirs(self) -> list[str]: + raise NotImplementedError + + @property @abstractmethod def user_runtime_dir(self) -> str: """:returns: runtime directory tied to the user""" diff --git a/contrib/python/platformdirs/platformdirs/macos.py b/contrib/python/platformdirs/platformdirs/macos.py index 249324672b0..26447e396e3 100644 --- a/contrib/python/platformdirs/platformdirs/macos.py +++ b/contrib/python/platformdirs/platformdirs/macos.py @@ -25,13 +25,10 @@ class _MacOSDefaults(PlatformDirsABC): # noqa: PLR0904 """ - @property - def user_data_dir(self) -> str: - """:returns: data directory tied to the user, e.g. ``~/Library/Application Support/$appname/$version``""" + def _base_user_app_support_dir(self) -> str: return self._append_app_name_and_version(os.path.expanduser("~/Library/Application Support")) # noqa: PTH111 - @property - def _site_data_dirs(self) -> list[str]: + def _base_site_dirs(self) -> list[str]: is_homebrew = "/opt/python" in sys.prefix homebrew_prefix = sys.prefix.split("/opt/python")[0] if is_homebrew else "" path_list = [self._append_app_name_and_version(f"{homebrew_prefix}/share")] if is_homebrew else [] @@ -39,6 +36,15 @@ class _MacOSDefaults(PlatformDirsABC): # noqa: PLR0904 return path_list @property + def user_data_dir(self) -> str: + """:returns: data directory tied to the user, e.g. ``~/Library/Application Support/$appname/$version``""" + return self._base_user_app_support_dir() + + @property + def _site_data_dirs(self) -> list[str]: + return self._base_site_dirs() + + @property def site_data_path(self) -> Path: """:returns: data path shared by users. Only return the first item, even if ``multipath`` is set to ``True``""" return self._first_item_as_path_if_multipath(self.site_data_dir) @@ -46,11 +52,11 @@ class _MacOSDefaults(PlatformDirsABC): # noqa: PLR0904 @property def user_config_dir(self) -> str: """:returns: config directory tied to the user, same as `user_data_dir`""" - return self.user_data_dir + return self._base_user_app_support_dir() @property def _site_config_dirs(self) -> list[str]: - return self._site_data_dirs + return self._base_site_dirs() @property def user_cache_dir(self) -> str: @@ -76,12 +82,12 @@ class _MacOSDefaults(PlatformDirsABC): # noqa: PLR0904 @property def user_state_dir(self) -> str: """:returns: state directory tied to the user, same as `user_data_dir`""" - return self.user_data_dir + return self._base_user_app_support_dir() @property def site_state_dir(self) -> str: """:returns: state directory shared by users, same as `site_data_dir`""" - return self.site_data_dir + return self._base_site_dirs()[0] @property def user_log_dir(self) -> str: diff --git a/contrib/python/platformdirs/platformdirs/unix.py b/contrib/python/platformdirs/platformdirs/unix.py index 0638700c192..8ec5a6bc718 100644 --- a/contrib/python/platformdirs/platformdirs/unix.py +++ b/contrib/python/platformdirs/platformdirs/unix.py @@ -199,12 +199,14 @@ class _UnixDefaults(PlatformDirsABC): # noqa: PLR0904 def iter_config_dirs(self) -> Iterator[str]: """:yield: all user and site configuration directories.""" - yield self.user_config_dir + if not self._use_site: + yield self.user_config_dir yield from self._site_config_dirs def iter_data_dirs(self) -> Iterator[str]: """:yield: all user and site data directories.""" - yield self.user_data_dir + if not self._use_site: + yield self.user_data_dir yield from self._site_data_dirs diff --git a/contrib/python/platformdirs/platformdirs/version.py b/contrib/python/platformdirs/platformdirs/version.py index 190c600dc60..99cae7946ef 100644 --- a/contrib/python/platformdirs/platformdirs/version.py +++ b/contrib/python/platformdirs/platformdirs/version.py @@ -1,5 +1,6 @@ -# file generated by setuptools-scm +# file generated by vcs-versioning # don't change, don't track in version control +from __future__ import annotations __all__ = [ "__version__", @@ -10,25 +11,14 @@ __all__ = [ "commit_id", ] -TYPE_CHECKING = False -if TYPE_CHECKING: - from typing import Tuple - from typing import Union - - VERSION_TUPLE = Tuple[Union[int, str], ...] - COMMIT_ID = Union[str, None] -else: - VERSION_TUPLE = object - COMMIT_ID = object - version: str __version__: str -__version_tuple__: VERSION_TUPLE -version_tuple: VERSION_TUPLE -commit_id: COMMIT_ID -__commit_id__: COMMIT_ID +__version_tuple__: tuple[int | str, ...] +version_tuple: tuple[int | str, ...] +commit_id: str | None +__commit_id__: str | None -__version__ = version = '4.9.4' -__version_tuple__ = version_tuple = (4, 9, 4) +__version__ = version = '4.9.6' +__version_tuple__ = version_tuple = (4, 9, 6) __commit_id__ = commit_id = None diff --git a/contrib/python/platformdirs/ya.make b/contrib/python/platformdirs/ya.make index 14da5693576..9155aa43b0a 100644 --- a/contrib/python/platformdirs/ya.make +++ b/contrib/python/platformdirs/ya.make @@ -2,7 +2,7 @@ PY3_LIBRARY() -VERSION(4.9.4) +VERSION(4.9.6) LICENSE(MIT) |
