@@ -266,7 +266,9 @@ async def get_studio_overrides(
266
266
)
267
267
268
268
try :
269
- return target_addon .convert_settings_overrides (self .version , data )
269
+ return await target_addon .convert_settings_overrides (
270
+ self .version , overrides = data
271
+ )
270
272
except Exception :
271
273
log_traceback (f"Unable to migrate { self } settings to { as_version } " )
272
274
return {}
@@ -305,7 +307,9 @@ async def get_project_overrides(
305
307
)
306
308
307
309
try :
308
- return target_addon .convert_settings_overrides (self .version , data )
310
+ return await target_addon .convert_settings_overrides (
311
+ self .version , overrides = data
312
+ )
309
313
except Exception :
310
314
log_traceback (f"Unable to migrate { self } settings to { as_version } " )
311
315
return {}
@@ -346,7 +350,9 @@ async def get_project_site_overrides(
346
350
)
347
351
348
352
try :
349
- return target_addon .convert_settings_overrides (self .version , data )
353
+ return await target_addon .convert_settings_overrides (
354
+ self .version , overrides = data
355
+ )
350
356
except Exception :
351
357
log_traceback (f"Unable to migrate { self } settings to { as_version } " )
352
358
return {}
@@ -487,7 +493,7 @@ async def get_default_settings(self) -> BaseSettingsModel | None:
487
493
return None
488
494
return model ()
489
495
490
- def convert_settings_overrides (
496
+ async def convert_settings_overrides (
491
497
self ,
492
498
source_version : str ,
493
499
overrides : dict [str , Any ],
@@ -507,7 +513,7 @@ def convert_settings_overrides(
507
513
has been changed from `str` to `list[str]`, you may use:
508
514
509
515
```python
510
- def convert_str_to_list_str(value: str | list[str]) -> list[str]:
516
+ await def convert_str_to_list_str(value: str | list[str]) -> list[str]:
511
517
if isinstance(value, str):
512
518
return [value]
513
519
elif isinstance(value, list):
@@ -527,5 +533,8 @@ def convert_str_to_list_str(value: str | list[str]) -> list[str]:
527
533
model_class = self .get_settings_model ()
528
534
if model_class is None :
529
535
return {}
530
- result = migrate_settings (overrides , new_model_class = model_class )
536
+ defaults = await self .get_default_settings ()
537
+ result = migrate_settings (
538
+ overrides , new_model_class = model_class , defaults = defaults .dict ()
539
+ )
531
540
return result .dict (exclude_unset = True , exclude_none = True , exclude_defaults = True )
0 commit comments