mirror of
https://github.com/mkdocs/mkdocs.git
synced 2026-03-30 03:18:32 +07:00
Refactor: move default.copy() logic to the BaseConfigOption class
This commit is contained in:
@@ -17,6 +17,18 @@ class BaseConfigOption:
|
||||
self.warnings = []
|
||||
self.default = None
|
||||
|
||||
@property
|
||||
def default(self):
|
||||
try:
|
||||
# ensure no mutable values are assigned
|
||||
return self._default.copy()
|
||||
except AttributeError:
|
||||
return self._default
|
||||
|
||||
@default.setter
|
||||
def default(self, value):
|
||||
self._default = value
|
||||
|
||||
def validate(self, value):
|
||||
return self.run_validation(value)
|
||||
|
||||
|
||||
@@ -69,13 +69,9 @@ class OptionallyRequired(BaseConfigOption):
|
||||
|
||||
if value is None:
|
||||
if self.default is not None:
|
||||
if hasattr(self.default, 'copy'):
|
||||
# ensure no mutable values are assigned
|
||||
value = self.default.copy()
|
||||
else:
|
||||
value = self.default
|
||||
value = self.default
|
||||
elif not self.required:
|
||||
return
|
||||
return None
|
||||
elif self.required:
|
||||
raise ValidationError("Required configuration not provided.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user