B Ĥa.@sbddlmZddlZddlZddlmZmZddlmZej dkrNddl m Z GdddeZ dS) ) annotationsN)ABCabstractmethod)Path))Literalc@seZdZdZd5dddddddd d Zd d d d dZeed dddZeed dddZ eed dddZ eed dddZ eed dddZ eed dddZ eed dddZeed dddZeed dd d!Zed"dd#d$Zed"dd%d&Zed"dd'd(Zed"dd)d*Zed"dd+d,Zed"dd-d.Zed"dd/d0Zed"dd1d2Zed"dd3d4ZdS)6PlatformDirsABCz7 Abstract base class for platform directories. NFTz str | Nonezstr | None | Literal[False]bool)appname appauthorversionroaming multipathopinioncCs(||_||_||_||_||_||_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 r rrr)selfr r r rrrrA/opt/alt/python37/lib/python3.7/site-packages/platformdirs/api.py__init__s zPlatformDirsABC.__init__str)basereturncGsJt|dd}|jr4||j|jr4||jtjj|df|S)Nr)listr appendr ospathjoin)rrparamsrrr_append_app_name_and_version<s   z,PlatformDirsABC._append_app_name_and_version)rcCsdS)z(:return: data directory tied to the userNr)rrrr user_data_dirDszPlatformDirsABC.user_data_dircCsdS)z':return: data directory shared by usersNr)rrrr site_data_dirIszPlatformDirsABC.site_data_dircCsdS)z*:return: config directory tied to the userNr)rrrruser_config_dirNszPlatformDirsABC.user_config_dircCsdS)z-:return: config directory shared by the usersNr)rrrrsite_config_dirSszPlatformDirsABC.site_config_dircCsdS)z):return: cache directory tied to the userNr)rrrruser_cache_dirXszPlatformDirsABC.user_cache_dircCsdS)z):return: state directory tied to the userNr)rrrruser_state_dir]szPlatformDirsABC.user_state_dircCsdS)z':return: log directory tied to the userNr)rrrr user_log_dirbszPlatformDirsABC.user_log_dircCsdS)z-:return: documents directory tied to the userNr)rrrruser_documents_dirgsz"PlatformDirsABC.user_documents_dircCsdS)z+:return: runtime directory tied to the userNr)rrrruser_runtime_dirlsz PlatformDirsABC.user_runtime_dirrcCs t|jS)z#:return: data path tied to the user)rr )rrrruser_data_pathqszPlatformDirsABC.user_data_pathcCs t|jS)z":return: data path shared by users)rr!)rrrrsite_data_pathvszPlatformDirsABC.site_data_pathcCs t|jS)z%:return: config path tied to the user)rr")rrrruser_config_path{sz PlatformDirsABC.user_config_pathcCs t|jS)z(:return: config path shared by the users)rr#)rrrrsite_config_pathsz PlatformDirsABC.site_config_pathcCs t|jS)z$:return: cache path tied to the user)rr$)rrrruser_cache_pathszPlatformDirsABC.user_cache_pathcCs t|jS)z$:return: state path tied to the user)rr%)rrrruser_state_pathszPlatformDirsABC.user_state_pathcCs t|jS)z":return: log path tied to the user)rr&)rrrr user_log_pathszPlatformDirsABC.user_log_pathcCs t|jS)z(:return: documents path tied to the user)rr')rrrruser_documents_pathsz#PlatformDirsABC.user_documents_pathcCs t|jS)z&:return: runtime path tied to the user)rr()rrrruser_runtime_pathsz!PlatformDirsABC.user_runtime_path)NNNFFT)__name__ __module__ __qualname____doc__rrpropertyrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1rrrrr sF$r ) __future__rrsysabcrrZpathlibr version_infotypingrr rrrrs