11from pathlib import Path
2- from pydantic import BaseModel , Field
3- import toml
2+
43import structlog
4+ import toml
5+ from pydantic import BaseModel , Field
56
67logger = structlog .get_logger (__name__ )
78
9+
810class LibSettings (BaseModel ):
911 is_exclude_list : bool = Field (default = True )
10- extension_list : list [str ] = Field (default = [".json" , ".xmp" , ".aae" ])
12+ extension_list : list [str ] = Field (default = [".json" , ".xmp" , ".aae" ])
1113 page_size : int = Field (default = 500 )
1214 db_version : int = Field (default = 2 )
1315 filename : str = Field (default = "" )
1416
1517 @staticmethod
1618 def open (path_value : Path | str ) -> "LibSettings" :
17- path : Path
18- if not isinstance (path_value , Path ):
19- path = Path (path_value )
20- else :
21- path = path_value
19+ path : Path = Path (path_value ) if not isinstance (path_value , Path ) else path_value
2220
2321 if path .exists ():
24- with open (path , "r" ) as settings_file :
22+ with open (path ) as settings_file :
2523 filecontents = settings_file .read ()
2624 if len (filecontents .strip ()) != 0 :
2725 settings_data = toml .loads (filecontents )
2826 settings_data ["filename" ] = str (path )
2927 return LibSettings (** settings_data )
30-
31- #either settings file did not exist or was empty - either way, use default settings
28+
29+ # either settings file did not exist or was empty - either way, use default settings
3230 settings = LibSettings (** dict (filename = str (path )))
3331 return settings
34-
32+
3533 def save (self ):
3634 if not (parent_path := Path (self .filename ).parent ).exists ():
3735 parent_path .mkdir ()
3836
3937 with open (self .filename , "w" ) as settings_file :
40- toml .dump (dict (self ), settings_file )
38+ toml .dump (dict (self ), settings_file )
0 commit comments