B
NFt @ s d dl mZ d dlZd dlZd dlZd dlmZ ddlmZ G dd deZ eddd d
ddZ
eddd d
d
dZdgZdS ) )annotationsN) lru_cache )PlatformDirsABCc @ s e Zd ZdZeddddZeddddZedddd Zeddd
dZedddd
Z eddddZ
eddddZeddddZeddddZ
dS )Androidz
Follows the guidance `from here `_. Makes use of the
`appname ` and
`version `.
str)returnc C s | t dS )zd:return: data directory tied to the user, e.g. ``/data/user///files/``files)_append_app_name_and_version_android_folder)self r
E/opt/alt/python37/lib/python3.7/site-packages/platformdirs/android.py
user_data_dir s zAndroid.user_data_dirc C s | j S )z@:return: data directory shared by users, same as `user_data_dir`)r )r r
r
r
site_data_dir s zAndroid.site_data_dirc C s | t dS )z
:return: config directory tied to the user, e.g. ``/data/user///shared_prefs/``
Zshared_prefs)r
r )r r
r
r user_config_dir s zAndroid.user_config_dirc C s | j S )zH:return: config directory shared by the users, same as `user_config_dir`)r )r r
r
r site_config_dir# s zAndroid.site_config_dirc C s | t dS )zj:return: cache directory tied to the user, e.g. e.g. ``/data/user///cache/``cache)r
r )r r
r
r user_cache_dir( s zAndroid.user_cache_dirc C s | j S )zB:return: state directory tied to the user, same as `user_data_dir`)r )r r
r
r user_state_dir- s zAndroid.user_state_dirc C s | j }| jrtj|d}|S )z
:return: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it,
e.g. ``/data/user///cache//log``
log)r opinionospathjoin)r r r
r
r user_log_dir2 s zAndroid.user_log_dirc C s t S )zf
:return: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``
)_android_documents_folder)r r
r
r user_documents_dir= s zAndroid.user_documents_dirc C s | j }| jrtj|d}|S )z
:return: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it,
e.g. ``/data/user///cache//tmp``
tmp)r r r r r )r r r
r
r user_runtime_dirD s zAndroid.user_runtime_dirN)__name__
__module____qualname____doc__propertyr r r r r r r r r r
r
r
r r s r )maxsizer )r c C s~ y(ddl m} | d}| }W nP tk
rx td}x0tj D ]}|
|rJ|dd }P qJW tdY nX |S )z':return: base folder for the Android OSr ) autoclasszandroid.content.Contextz /data/(data|user/\d+)/(.+)/filesz/filesz&Cannot find path to android app folder)
jniusr&