diff options
author | Amjith Ramanujam <amjith.r@gmail.com> | 2024-03-04 09:57:35 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-04 09:57:35 -0800 |
commit | 1b5cf2744a097492714707696a2bcc029cdf3aff (patch) | |
tree | d0ce2b3a1474d0d620c8663e5568ed9cea246a33 | |
parent | b183f86e45dc8b69797e09227769d99245ab1d0a (diff) | |
parent | e2a58c05a917d72ba70e647968b0096e6612e12d (diff) |
Merge pull request #173 from dbcli/optional-config
Do not crash if ~/.config/litecli is not writeable.
-rw-r--r-- | CHANGELOG.md | 7 | ||||
-rw-r--r-- | litecli/config.py | 6 | ||||
-rw-r--r-- | litecli/main.py | 6 |
3 files changed, 17 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 808b8df..692d113 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## Next Release - [TBD] + +### Bug Fixes + +* Do not crash at start up if ~/.config/litecli is not writeable. [#172](https://github.com/dbcli/litecli/issues/172) + + ## 1.10.0 - 2022-11-19 ### Features diff --git a/litecli/config.py b/litecli/config.py index 1c7fb25..55d3e32 100644 --- a/litecli/config.py +++ b/litecli/config.py @@ -57,6 +57,10 @@ def get_config(liteclirc_file=None): liteclirc_file = liteclirc_file or "%sconfig" % config_location() default_config = os.path.join(package_root, "liteclirc") - write_default_config(default_config, liteclirc_file) + try: + write_default_config(default_config, liteclirc_file) + except OSError: + # If we can't write to the config file, just use the default config + return load_config(default_config) return load_config(liteclirc_file, default_config) diff --git a/litecli/main.py b/litecli/main.py index e608da7..268ede2 100644 --- a/litecli/main.py +++ b/litecli/main.py @@ -239,7 +239,11 @@ class LiteCli(object): log_file = self.config["main"]["log_file"] if log_file == "default": log_file = config_location() + "log" - ensure_dir_exists(log_file) + try: + ensure_dir_exists(log_file) + except OSError: + # Unable to create log file, log to temp directory instead. + log_file = "/tmp/litecli.log" log_level = self.config["main"]["log_level"] |