[Carry #208] Use the XDG Basedir Spec for the cache #250
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Fixes #205
Carries #208 (from @WhyNotHugo)
Description of changes:
Currently, for caching data, a new directory is created in the current user's home directory. This is bad practice (if all apps just dump files into the user's home, it becomes somewhat unmaintainable).
The XDG Basedir Specification covers this pretty neatly; the cache directory for all applications is configurable via the
XDG_CACHE_HOME
variable, and falls back to~/.cache
if unset.The os.UserCacheDir function returns the per-platorm cache dir, since the XDG-Basedir is *nix-specific (except macOS).
This changeset makes the cache for all applications live in one single location, rather that littering the user's home.
Testing:
Manual testing covers the behavior when
~/.ecr
exists and when it does not.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.