default settings values handling
This commit is contained in:
parent
6b8d6f8bc7
commit
72e3324141
1 changed files with 8 additions and 13 deletions
|
@ -31,16 +31,6 @@ class DavSettings(BaseModel):
|
|||
|
||||
return f"{self.protocol}://{self.host}{self.path}"
|
||||
|
||||
@classmethod
|
||||
@property
|
||||
def default(cls) -> "DavSettings":
|
||||
return cls(
|
||||
protocol="https",
|
||||
host="example.com",
|
||||
username="ovdashboard",
|
||||
password="secret",
|
||||
)
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""
|
||||
|
@ -84,15 +74,20 @@ class Settings(BaseSettings):
|
|||
if key not in values:
|
||||
values[key] = {}
|
||||
|
||||
default_dav = DavSettings.default.dict()
|
||||
default_dav = DavSettings(
|
||||
protocol="https",
|
||||
host="example.com",
|
||||
username="ovdashboard",
|
||||
password="secret",
|
||||
).dict()
|
||||
|
||||
for key in default_dav:
|
||||
# if "webdav" value is not specified, use default
|
||||
if key not in values["webdav"]:
|
||||
if key not in values["webdav"] or values["webdav"][key] is None:
|
||||
values["webdav"][key] = default_dav[key]
|
||||
|
||||
# if "caldav" value is not specified, use "webdav" value
|
||||
if key not in values["caldav"]:
|
||||
if key not in values["caldav"] or values["caldav"][key] is None:
|
||||
values["caldav"][key] = values["webdav"][key]
|
||||
|
||||
# add default "path"s if None
|
||||
|
|
Loading…
Reference in a new issue