@@ -16,28 +16,29 @@ def get_user_config_file(
16
16
create : bool = True ,
17
17
verbose_callback : Optional [Callable [[str ], None ]] = None ,
18
18
) -> Optional [Path ]:
19
- result = Path (platformdirs .user_config_dir ("robotcode" , appauthor = False ), "robot.toml" )
20
- if result .is_file ():
21
- if verbose_callback :
22
- verbose_callback (f"Found user configuration file:\n { result } " )
23
- return result
19
+ try :
20
+ result = Path (platformdirs .user_config_dir ("robotcode" , appauthor = False ), "robot.toml" )
21
+ if result .is_file ():
22
+ if verbose_callback :
23
+ verbose_callback (f"Found user configuration file:\n { result } " )
24
+ return result
25
+
26
+ if not create :
27
+ if verbose_callback :
28
+ verbose_callback ("User configuration file not found, but create is set to False." )
29
+ return None
24
30
25
- if not create :
26
31
if verbose_callback :
27
- verbose_callback ("User configuration file not found, but create is set to False." )
28
- return None
32
+ verbose_callback (f"User configuration file not found, try to create it at:\n { result } " )
29
33
30
- if verbose_callback :
31
- verbose_callback (f"User configuration file not found, try to create it at:\n { result } " )
32
- try :
33
34
get_default_config ().save (result )
35
+
36
+ return result
34
37
except OSError as e :
35
38
if verbose_callback :
36
39
verbose_callback (f"Cannot create user configuration file `{ result } `:\n { e } " )
37
40
return None
38
41
39
- return result
40
-
41
42
42
43
def get_config_files (
43
44
paths : Optional [Sequence [Union [str , Path ]]] = None ,
@@ -73,7 +74,11 @@ def get_config_files(
73
74
74
75
return (
75
76
[
76
- * ([(user_config , ConfigType .USER_DEFAULT_CONFIG_TOML )] if user_config else []),
77
+ * (
78
+ [(user_config , ConfigType .USER_DEFAULT_CONFIG_TOML )]
79
+ if user_config
80
+ else [(Path ("__no_user_config__.toml" ), ConfigType .DEFAULT_CONFIG_TOML )]
81
+ ),
77
82
* result ,
78
83
],
79
84
root_folder ,
0 commit comments