|
7 | 7 | # %% ../nbs/09_xdg.ipynb 3 |
8 | 8 | from .utils import * |
9 | 9 |
|
10 | | -# %% ../nbs/09_xdg.ipynb 6 |
| 10 | +# %% ../nbs/09_xdg.ipynb 10 |
11 | 11 | def _path_from_env(variable, default): |
12 | 12 | value = os.environ.get(variable) |
13 | 13 | if value and os.path.isabs(value): return Path(value) |
14 | 14 | return default |
15 | 15 |
|
16 | | -# %% ../nbs/09_xdg.ipynb 7 |
| 16 | +# %% ../nbs/09_xdg.ipynb 11 |
17 | 17 | def _paths_from_env(variable, default): |
18 | 18 | value = os.environ.get(variable) |
19 | 19 | if value: |
20 | 20 | paths = [Path(o) for o in value.split(":") if os.path.isabs(o)] |
21 | 21 | if paths: return paths |
22 | 22 | return default |
23 | 23 |
|
24 | | -# %% ../nbs/09_xdg.ipynb 10 |
| 24 | +# %% ../nbs/09_xdg.ipynb 12 |
25 | 25 | def xdg_cache_home(): |
26 | 26 | "Path corresponding to `XDG_CACHE_HOME`" |
27 | 27 | return _path_from_env("XDG_CACHE_HOME", Path.home()/".cache") |
28 | 28 |
|
29 | | -# %% ../nbs/09_xdg.ipynb 12 |
| 29 | +# %% ../nbs/09_xdg.ipynb 15 |
30 | 30 | def xdg_config_dirs(): |
31 | 31 | "Paths corresponding to `XDG_CONFIG_DIRS`" |
32 | 32 | return _paths_from_env("XDG_CONFIG_DIRS", [Path("/etc/xdg")]) |
33 | 33 |
|
34 | | -# %% ../nbs/09_xdg.ipynb 14 |
| 34 | +# %% ../nbs/09_xdg.ipynb 17 |
35 | 35 | def xdg_config_home(): |
36 | 36 | "Path corresponding to `XDG_CONFIG_HOME`" |
37 | 37 | return _path_from_env("XDG_CONFIG_HOME", Path.home()/".config") |
38 | 38 |
|
39 | | -# %% ../nbs/09_xdg.ipynb 16 |
| 39 | +# %% ../nbs/09_xdg.ipynb 19 |
40 | 40 | def xdg_data_dirs(): |
41 | 41 | "Paths corresponding to XDG_DATA_DIRS`" |
42 | 42 | return _paths_from_env( "XDG_DATA_DIRS", [Path(o) for o in "/usr/local/share/:/usr/share/".split(":")]) |
43 | 43 |
|
44 | | -# %% ../nbs/09_xdg.ipynb 18 |
| 44 | +# %% ../nbs/09_xdg.ipynb 21 |
45 | 45 | def xdg_data_home(): |
46 | 46 | "Path corresponding to `XDG_DATA_HOME`" |
47 | 47 | return _path_from_env("XDG_DATA_HOME", Path.home()/".local"/"share") |
48 | 48 |
|
49 | | -# %% ../nbs/09_xdg.ipynb 20 |
| 49 | +# %% ../nbs/09_xdg.ipynb 23 |
50 | 50 | def xdg_runtime_dir(): |
51 | 51 | "Path corresponding to `XDG_RUNTIME_DIR`" |
52 | 52 | value = os.getenv("XDG_RUNTIME_DIR") |
53 | 53 | return Path(value) if value and os.path.isabs(value) else None |
54 | 54 |
|
55 | | -# %% ../nbs/09_xdg.ipynb 22 |
| 55 | +# %% ../nbs/09_xdg.ipynb 25 |
56 | 56 | def xdg_state_home(): |
57 | 57 | "Path corresponding to `XDG_STATE_HOME`" |
58 | 58 | return _path_from_env("XDG_STATE_HOME", Path.home()/".local"/"state") |
0 commit comments