o 1b.@sbddlmZddlZddlZddlmZmZddlmZej dkr'ddl m Z GdddeZ dS) ) annotationsN)ABCabstractmethod)Path))Literalc@sReZdZdZ      d:d;ddZdd(d)Zed>d*d+Zed>d,d-Zed>d.d/Zed>d0d1Zed>d2d3Zed>d4d5Zed>d6d7Zed>d8d9ZdS)?PlatformDirsABCz7 Abstract base class for platform directories. NFTappname str | None appauthorstr | None | Literal[False]versionroamingbool multipathopinioncCs0||_||_ ||_ ||_ ||_ ||_dS)a% Create a new platform directory. :param appname: See `appname`. :param appauthor: See `appauthor`. :param version: See `version`. :param roaming: See `roaming`. :param multipath: See `multipath`. :param opinion: See `opinion`. N)r r rrrr)selfr r rrrrr2/usr/lib/python3/dist-packages/platformdirs/api.py__init__s zPlatformDirsABC.__init__basestrreturncGsLt|dd}|jr||j|jr||jtjj|dg|RS)Nr)listr appendrospathjoin)rrparamsrrr_append_app_name_and_version<s   z,PlatformDirsABC._append_app_name_and_versioncCdS)z(:return: data directory tied to the userNrrrrr user_data_dirDzPlatformDirsABC.user_data_dircCr")z':return: data directory shared by usersNrr#rrr site_data_dirIr%zPlatformDirsABC.site_data_dircCr")z*:return: config directory tied to the userNrr#rrruser_config_dirNr%zPlatformDirsABC.user_config_dircCr")z-:return: config directory shared by the usersNrr#rrrsite_config_dirSr%zPlatformDirsABC.site_config_dircCr")z):return: cache directory tied to the userNrr#rrruser_cache_dirXr%zPlatformDirsABC.user_cache_dircCr")z):return: state directory tied to the userNrr#rrruser_state_dir]r%zPlatformDirsABC.user_state_dircCr")z':return: log directory tied to the userNrr#rrr user_log_dirbr%zPlatformDirsABC.user_log_dircCr")z-:return: documents directory tied to the userNrr#rrruser_documents_dirgr%z"PlatformDirsABC.user_documents_dircCr")z+:return: runtime directory tied to the userNrr#rrruser_runtime_dirlr%z PlatformDirsABC.user_runtime_dirrcC t|jS)z#:return: data path tied to the user)rr$r#rrruser_data_pathq zPlatformDirsABC.user_data_pathcCr.)z":return: data path shared by users)rr&r#rrrsite_data_pathvr0zPlatformDirsABC.site_data_pathcCr.)z%:return: config path tied to the user)rr'r#rrruser_config_path{r0z PlatformDirsABC.user_config_pathcCr.)z(:return: config path shared by the users)rr(r#rrrsite_config_pathr0z PlatformDirsABC.site_config_pathcCr.)z$:return: cache path tied to the user)rr)r#rrruser_cache_pathr0zPlatformDirsABC.user_cache_pathcCr.)z$:return: state path tied to the user)rr*r#rrruser_state_pathr0zPlatformDirsABC.user_state_pathcCr.)z":return: log path tied to the user)rr+r#rrr user_log_pathr0zPlatformDirsABC.user_log_pathcCr.)z(:return: documents path tied to the user)rr,r#rrruser_documents_pathr0z#PlatformDirsABC.user_documents_pathcCr.)z&:return: runtime path tied to the user)rr-r#rrruser_runtime_pathr0z!PlatformDirsABC.user_runtime_path)NNNFFT) r r r r rr rrrrrr)rrrr)rr)rr)__name__ __module__ __qualname____doc__rr!propertyrr$r&r'r(r)r*r+r,r-r/r1r2r3r4r5r6r7r8rrrrr sn +        r ) __future__rrsysabcrrpathlibr version_infotypingrr rrrrs