mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-20 13:08:31 +02:00
Add exception and handling for when configuration directory is actually a file
This commit is contained in:
parent
91049eda6c
commit
2214efffcf
3 changed files with 18 additions and 1 deletions
|
@ -7,6 +7,7 @@ import sys
|
||||||
|
|
||||||
from .jrnl import run
|
from .jrnl import run
|
||||||
from .args import parse_args
|
from .args import parse_args
|
||||||
|
from .exception import ConfigDirectoryPathIsFileException
|
||||||
|
|
||||||
|
|
||||||
def configure_logger(debug=False):
|
def configure_logger(debug=False):
|
||||||
|
@ -33,5 +34,9 @@ def cli(manual_args=None):
|
||||||
|
|
||||||
return run(args)
|
return run(args)
|
||||||
|
|
||||||
|
except ConfigDirectoryPathIsFileException as e:
|
||||||
|
print(e, file=sys.stderr)
|
||||||
|
return 1
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -7,6 +7,7 @@ import yaml
|
||||||
import xdg.BaseDirectory
|
import xdg.BaseDirectory
|
||||||
|
|
||||||
from . import __version__
|
from . import __version__
|
||||||
|
from .exception import ConfigDirectoryPathIsFileException
|
||||||
from .color import ERROR_COLOR
|
from .color import ERROR_COLOR
|
||||||
from .color import RESET_COLOR
|
from .color import RESET_COLOR
|
||||||
from .output import list_journals
|
from .output import list_journals
|
||||||
|
@ -33,7 +34,13 @@ def get_config_path():
|
||||||
except FileExistsError:
|
except FileExistsError:
|
||||||
# .TODO raise a custom jrnl exception
|
# .TODO raise a custom jrnl exception
|
||||||
# this is when XDG tries to create a directory with the same name as a file that exists
|
# this is when XDG tries to create a directory with the same name as a file that exists
|
||||||
raise
|
|
||||||
|
raise ConfigDirectoryPathIsFileException(
|
||||||
|
"The path to your jrnl configuration directory is a file, not a directory:\n"
|
||||||
|
+ os.path.join(xdg.BaseDirectory.xdg_config_home, XDG_RESOURCE)
|
||||||
|
+ "\n"
|
||||||
|
+ "Removing this file will allow jrnl to save its configuration."
|
||||||
|
)
|
||||||
|
|
||||||
return os.path.join(
|
return os.path.join(
|
||||||
config_directory_path or os.path.expanduser("~"), DEFAULT_CONFIG_NAME
|
config_directory_path or os.path.expanduser("~"), DEFAULT_CONFIG_NAME
|
||||||
|
|
|
@ -10,3 +10,8 @@ class UpgradeValidationException(Exception):
|
||||||
"""Raised when the contents of an upgraded journal do not match the old journal"""
|
"""Raised when the contents of an upgraded journal do not match the old journal"""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ConfigDirectoryPathIsFileException(Exception):
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
Loading…
Add table
Reference in a new issue