| ... |
... |
@@ -383,6 +383,13 @@ class _Settings: |
|
383
|
383
|
if setting not in APP_SETTINGS:
|
|
384
|
384
|
raise ValueError(f'Invalid app setting: {setting}')
|
|
385
|
385
|
|
|
|
386
|
+ if value is None:
|
|
|
387
|
+ try:
|
|
|
388
|
+ del self._settings['app'][setting]
|
|
|
389
|
+ except KeyError:
|
|
|
390
|
+ pass
|
|
|
391
|
+ return
|
|
|
392
|
+
|
|
386
|
393
|
default = APP_SETTINGS[setting]
|
|
387
|
394
|
if not isinstance(value, type(default)):
|
|
388
|
395
|
raise TypeError(f'Invalid type for {setting}: '
|
| ... |
... |
@@ -484,6 +491,13 @@ class _Settings: |
|
484
|
491
|
if setting not in ACCOUNT_SETTINGS['account']:
|
|
485
|
492
|
raise ValueError(f'Invalid account setting: {setting}')
|
|
486
|
493
|
|
|
|
494
|
+ if value is None:
|
|
|
495
|
+ try:
|
|
|
496
|
+ del self._account_settings[account]['account'][setting]
|
|
|
497
|
+ except KeyError:
|
|
|
498
|
+ pass
|
|
|
499
|
+ return
|
|
|
500
|
+
|
|
487
|
501
|
default = ACCOUNT_SETTINGS['account'][setting]
|
|
488
|
502
|
if not isinstance(value, type(default)):
|
|
489
|
503
|
raise TypeError(f'Invalid type for {setting}: '
|
| ... |
... |
@@ -529,6 +543,13 @@ class _Settings: |
|
529
|
543
|
if setting not in ACCOUNT_SETTINGS['group_chat']:
|
|
530
|
544
|
raise ValueError(f'Invalid group chat setting: {setting}')
|
|
531
|
545
|
|
|
|
546
|
+ if value is None:
|
|
|
547
|
+ try:
|
|
|
548
|
+ del self._account_settings[account]['group_chat'][setting]
|
|
|
549
|
+ except KeyError:
|
|
|
550
|
+ pass
|
|
|
551
|
+ return
|
|
|
552
|
+
|
|
532
|
553
|
default = ACCOUNT_SETTINGS['group_chat'][setting]
|
|
533
|
554
|
if default is HAS_APP_DEFAULT:
|
|
534
|
555
|
if context is None:
|
| ... |
... |
@@ -579,6 +600,13 @@ class _Settings: |
|
579
|
600
|
if setting not in ACCOUNT_SETTINGS['contact']:
|
|
580
|
601
|
raise ValueError(f'Invalid contact setting: {setting}')
|
|
581
|
602
|
|
|
|
603
|
+ if value is None:
|
|
|
604
|
+ try:
|
|
|
605
|
+ del self._account_settings[account]['contact'][setting]
|
|
|
606
|
+ except KeyError:
|
|
|
607
|
+ pass
|
|
|
608
|
+ return
|
|
|
609
|
+
|
|
582
|
610
|
default = ACCOUNT_SETTINGS['contact'][setting]
|
|
583
|
611
|
if default is HAS_APP_DEFAULT:
|
|
584
|
612
|
default = APP_SETTINGS[f'{setting}_default']
|