Skip to content

Commit 03ab33f

Browse files
committed
SimpleConfig: change API of set_key(): "save" is now kwarg-only
1 parent 250b14c commit 03ab33f

17 files changed

+52
-52
lines changed

electrum/exchange_rate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ def config_exchange(self):
599599

600600
def set_currency(self, ccy: str):
601601
self.ccy = ccy
602-
self.config.set_key('currency', ccy, True)
602+
self.config.set_key('currency', ccy, save=True)
603603
self.trigger_update()
604604
self.on_quotes()
605605

@@ -611,7 +611,7 @@ def set_exchange(self, name):
611611
class_ = globals().get(name) or globals().get(DEFAULT_EXCHANGE)
612612
self.logger.info(f"using exchange {name}")
613613
if self.config_exchange() != name:
614-
self.config.set_key('use_exchange', name, True)
614+
self.config.set_key('use_exchange', name, save=True)
615615
assert issubclass(class_, ExchangeBase), f"unexpected type {class_} for {name}"
616616
self.exchange = class_(self.on_quotes, self.on_history) # type: ExchangeBase
617617
# A new exchange means new fx quotes, initially empty. Force

electrum/gui/kivy/main_window.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ def cb(name):
196196

197197
use_gossip = BooleanProperty(False)
198198
def on_use_gossip(self, instance, x):
199-
self.electrum_config.set_key('use_gossip', self.use_gossip, True)
199+
self.electrum_config.set_key('use_gossip', self.use_gossip, save=True)
200200
if self.network:
201201
if self.use_gossip:
202202
self.network.start_gossip()
@@ -206,7 +206,7 @@ def on_use_gossip(self, instance, x):
206206

207207
enable_debug_logs = BooleanProperty(False)
208208
def on_enable_debug_logs(self, instance, x):
209-
self.electrum_config.set_key('gui_enable_debug_logs', self.enable_debug_logs, True)
209+
self.electrum_config.set_key('gui_enable_debug_logs', self.enable_debug_logs, save=True)
210210

211211
use_change = BooleanProperty(False)
212212
def on_use_change(self, instance, x):
@@ -217,11 +217,11 @@ def on_use_change(self, instance, x):
217217

218218
use_unconfirmed = BooleanProperty(False)
219219
def on_use_unconfirmed(self, instance, x):
220-
self.electrum_config.set_key('confirmed_only', not self.use_unconfirmed, True)
220+
self.electrum_config.set_key('confirmed_only', not self.use_unconfirmed, save=True)
221221

222222
use_recoverable_channels = BooleanProperty(True)
223223
def on_use_recoverable_channels(self, instance, x):
224-
self.electrum_config.set_key('use_recoverable_channels', self.use_recoverable_channels, True)
224+
self.electrum_config.set_key('use_recoverable_channels', self.use_recoverable_channels, save=True)
225225

226226
def switch_to_send_screen(func):
227227
# try until send_screen is available

electrum/gui/kivy/uix/dialogs/fee_dialog.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,15 @@ def read_config(self):
9999
def save_config(self):
100100
value = int(self.slider.value)
101101
dynfees, mempool = self.get_method()
102-
self.config.set_key('dynamic_fees', dynfees, False)
103-
self.config.set_key('mempool_fees', mempool, False)
102+
self.config.set_key('dynamic_fees', dynfees, save=False)
103+
self.config.set_key('mempool_fees', mempool, save=False)
104104
if dynfees:
105105
if mempool:
106-
self.config.set_key('depth_level', value, True)
106+
self.config.set_key('depth_level', value, save=True)
107107
else:
108-
self.config.set_key('fee_level', value, True)
108+
self.config.set_key('fee_level', value, save=True)
109109
else:
110-
self.config.set_key('fee_per_kb', self.config.static_fee(value), True)
110+
self.config.set_key('fee_per_kb', self.config.static_fee(value), save=True)
111111

112112
def update_text(self):
113113
pass

electrum/gui/kivy/uix/dialogs/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def language_dialog(self, item, dt):
159159
if self._language_dialog is None:
160160
l = self.config.get('language') or ''
161161
def cb(key):
162-
self.config.set_key("language", key, True)
162+
self.config.set_key("language", key, save=True)
163163
item.lang = self.get_language_name()
164164
self.app.language = key
165165
self._language_dialog = ChoiceDialog(_('Language'), languages, l, cb)

electrum/gui/qml/qeconfig.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def autoConnect(self):
5555

5656
@autoConnect.setter
5757
def autoConnect(self, auto_connect):
58-
self.config.set_key('auto_connect', auto_connect, True)
58+
self.config.set_key('auto_connect', auto_connect, save=True)
5959
self.autoConnectChanged.emit()
6060

6161
# auto_connect is actually a tri-state, expose the undefined case
@@ -70,7 +70,7 @@ def manualServer(self):
7070

7171
@manualServer.setter
7272
def manualServer(self, oneserver):
73-
self.config.set_key('oneserver', oneserver, True)
73+
self.config.set_key('oneserver', oneserver, save=True)
7474
self.manualServerChanged.emit()
7575

7676
baseUnitChanged = pyqtSignal()
@@ -113,7 +113,7 @@ def spendUnconfirmed(self):
113113

114114
@spendUnconfirmed.setter
115115
def spendUnconfirmed(self, checked):
116-
self.config.set_key('confirmed_only', not checked, True)
116+
self.config.set_key('confirmed_only', not checked, save=True)
117117
self.spendUnconfirmedChanged.emit()
118118

119119
requestExpiryChanged = pyqtSignal()
@@ -136,12 +136,12 @@ def pinCode(self, pin_code):
136136
if pin_code == '':
137137
self.pinCodeRemoveAuth()
138138
else:
139-
self.config.set_key('pin_code', pin_code, True)
139+
self.config.set_key('pin_code', pin_code, save=True)
140140
self.pinCodeChanged.emit()
141141

142142
@auth_protect(method='wallet')
143143
def pinCodeRemoveAuth(self):
144-
self.config.set_key('pin_code', '', True)
144+
self.config.set_key('pin_code', '', save=True)
145145
self.pinCodeChanged.emit()
146146

147147
useGossipChanged = pyqtSignal()

electrum/gui/qml/qetxfinalizer.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,15 @@ def read_config(self):
110110
def save_config(self):
111111
value = int(self._sliderPos)
112112
dynfees, mempool = self.get_method()
113-
self._config.set_key('dynamic_fees', dynfees, False)
114-
self._config.set_key('mempool_fees', mempool, False)
113+
self._config.set_key('dynamic_fees', dynfees, save=False)
114+
self._config.set_key('mempool_fees', mempool, save=False)
115115
if dynfees:
116116
if mempool:
117-
self._config.set_key('depth_level', value, True)
117+
self._config.set_key('depth_level', value, save=True)
118118
else:
119-
self._config.set_key('fee_level', value, True)
119+
self._config.set_key('fee_level', value, save=True)
120120
else:
121-
self._config.set_key('fee_per_kb', self._config.static_fee(value), True)
121+
self._config.set_key('fee_per_kb', self._config.static_fee(value), save=True)
122122
self.update_target()
123123
self.update()
124124

electrum/gui/qt/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def toggle_tray_icon(self):
219219
if not self.tray:
220220
return
221221
self.dark_icon = not self.dark_icon
222-
self.config.set_key("dark_icon", self.dark_icon, True)
222+
self.config.set_key("dark_icon", self.dark_icon, save=True)
223223
self.tray.setIcon(self.tray_icon())
224224

225225
def tray_activated(self, reason):

electrum/gui/qt/confirm_tx_dialog.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,11 @@ def stop_editor_updates(self):
127127
def set_fee_config(self, dyn, pos, fee_rate):
128128
if dyn:
129129
if self.config.use_mempool_fees():
130-
self.config.set_key('depth_level', pos, False)
130+
self.config.set_key('depth_level', pos, save=False)
131131
else:
132-
self.config.set_key('fee_level', pos, False)
132+
self.config.set_key('fee_level', pos, save=False)
133133
else:
134-
self.config.set_key('fee_per_kb', fee_rate, False)
134+
self.config.set_key('fee_per_kb', fee_rate, save=False)
135135

136136
def update_tx(self, *, fallback_to_zero_fee: bool = False):
137137
# expected to set self.tx, self.message and self.error

electrum/gui/qt/installwizard.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -746,10 +746,10 @@ def init_network(self, network: 'Network'):
746746
nlayout = NetworkChoiceLayout(network, self.config, wizard=True)
747747
if self.exec_layout(nlayout.layout()):
748748
nlayout.accept()
749-
self.config.set_key('auto_connect', network.auto_connect, True)
749+
self.config.set_key('auto_connect', network.auto_connect, save=True)
750750
else:
751751
network.auto_connect = True
752-
self.config.set_key('auto_connect', True, True)
752+
self.config.set_key('auto_connect', True, save=True)
753753

754754
@wizard_dialog
755755
def multisig_dialog(self, run_next):

electrum/gui/qt/settings_dialog.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def __init__(self, window: 'ElectrumWindow', config: 'SimpleConfig'):
8383
def on_lang(x):
8484
lang_request = list(languages.keys())[lang_combo.currentIndex()]
8585
if lang_request != self.config.get('language'):
86-
self.config.set_key("language", lang_request, True)
86+
self.config.set_key("language", lang_request, save=True)
8787
self.need_restart = True
8888
lang_combo.currentIndexChanged.connect(on_lang)
8989

@@ -99,7 +99,7 @@ def on_nz():
9999
value = nz.value()
100100
if self.config.num_zeros != value:
101101
self.config.num_zeros = value
102-
self.config.set_key('num_zeros', value, True)
102+
self.config.set_key('num_zeros', value, save=True)
103103
self.app.refresh_tabs_signal.emit()
104104
self.app.update_status_signal.emit()
105105
nz.valueChanged.connect(on_nz)
@@ -211,7 +211,7 @@ def on_set_thousandsep(v):
211211
qr_combo.addItem(cam_desc, cam_path)
212212
index = qr_combo.findData(self.config.get("video_device"))
213213
qr_combo.setCurrentIndex(index)
214-
on_video_device = lambda x: self.config.set_key("video_device", qr_combo.itemData(x), True)
214+
on_video_device = lambda x: self.config.set_key("video_device", qr_combo.itemData(x), save=True)
215215
qr_combo.currentIndexChanged.connect(on_video_device)
216216

217217
colortheme_combo = QComboBox()
@@ -221,7 +221,7 @@ def on_set_thousandsep(v):
221221
colortheme_combo.setCurrentIndex(index)
222222
colortheme_label = QLabel(_('Color theme') + ':')
223223
def on_colortheme(x):
224-
self.config.set_key('qt_gui_color_theme', colortheme_combo.itemData(x), True)
224+
self.config.set_key('qt_gui_color_theme', colortheme_combo.itemData(x), save=True)
225225
self.need_restart = True
226226
colortheme_combo.currentIndexChanged.connect(on_colortheme)
227227

@@ -279,8 +279,8 @@ def on_be_combo(x):
279279
on_be_edit()
280280
else:
281281
be_result = block_explorers[block_ex_combo.currentIndex()]
282-
self.config.set_key('block_explorer_custom', None, False)
283-
self.config.set_key('block_explorer', be_result, True)
282+
self.config.set_key('block_explorer_custom', None, save=False)
283+
self.config.set_key('block_explorer', be_result, save=True)
284284
showhide_block_ex_custom_e()
285285
block_ex_combo.currentIndexChanged.connect(on_be_combo)
286286
def on_be_edit():
@@ -429,7 +429,7 @@ def set_alias_color(self):
429429
def on_alias_edit(self):
430430
self.alias_e.setStyleSheet("")
431431
alias = str(self.alias_e.text())
432-
self.config.set_key('alias', alias, True)
432+
self.config.set_key('alias', alias, save=True)
433433
if alias:
434434
self.wallet.contacts.fetch_openalias(self.config)
435435

electrum/gui/qt/swap_dialog.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,11 @@ def init_recv_amount(self, recv_amount_sat):
138138
def fee_slider_callback(self, dyn, pos, fee_rate):
139139
if dyn:
140140
if self.config.use_mempool_fees():
141-
self.config.set_key('depth_level', pos, False)
141+
self.config.set_key('depth_level', pos, save=False)
142142
else:
143-
self.config.set_key('fee_level', pos, False)
143+
self.config.set_key('fee_level', pos, save=False)
144144
else:
145-
self.config.set_key('fee_per_kb', fee_rate, False)
145+
self.config.set_key('fee_per_kb', fee_rate, save=False)
146146
if self.send_follows:
147147
self.on_recv_edited()
148148
else:

electrum/gui/qt/util.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,7 +1051,7 @@ def getOpenFileName(*, parent, title, filter="", config: 'SimpleConfig') -> Opti
10511051
directory = config.get('io_dir', os.path.expanduser('~'))
10521052
fileName, __ = QFileDialog.getOpenFileName(parent, title, directory, filter)
10531053
if fileName and directory != os.path.dirname(fileName):
1054-
config.set_key('io_dir', os.path.dirname(fileName), True)
1054+
config.set_key('io_dir', os.path.dirname(fileName), save=True)
10551055
return fileName
10561056

10571057

@@ -1082,7 +1082,7 @@ def getSaveFileName(
10821082

10831083
selected_path = file_dialog.selectedFiles()[0]
10841084
if selected_path and directory != os.path.dirname(selected_path):
1085-
config.set_key('io_dir', os.path.dirname(selected_path), True)
1085+
config.set_key('io_dir', os.path.dirname(selected_path), save=True)
10861086
return selected_path
10871087

10881088

electrum/gui/text.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -747,7 +747,7 @@ def settings_dialog(self):
747747
if out:
748748
if out.get('Default fee'):
749749
fee = int(Decimal(out['Default fee']) * COIN)
750-
self.config.set_key('fee_per_kb', fee, True)
750+
self.config.set_key('fee_per_kb', fee, save=True)
751751

752752
def password_dialog(self):
753753
out = self.run_dialog('Password', [

electrum/network.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -628,10 +628,10 @@ async def set_parameters(self, net_params: NetworkParameters):
628628
int(proxy['port'])
629629
except Exception:
630630
return
631-
self.config.set_key('auto_connect', net_params.auto_connect, False)
632-
self.config.set_key('oneserver', net_params.oneserver, False)
633-
self.config.set_key('proxy', proxy_str, False)
634-
self.config.set_key('server', str(server), True)
631+
self.config.set_key('auto_connect', net_params.auto_connect, save=False)
632+
self.config.set_key('oneserver', net_params.oneserver, save=False)
633+
self.config.set_key('proxy', proxy_str, save=False)
634+
self.config.set_key('server', str(server), save=True)
635635
# abort if changes were not allowed by config
636636
if self.config.get('server') != str(server) \
637637
or self.config.get('proxy') != proxy_str \

electrum/plugin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,14 @@ def close_plugin(self, plugin):
132132
self.remove_jobs(plugin.thread_jobs())
133133

134134
def enable(self, name: str) -> 'BasePlugin':
135-
self.config.set_key('use_' + name, True, True)
135+
self.config.set_key('use_' + name, True, save=True)
136136
p = self.get(name)
137137
if p:
138138
return p
139139
return self.load_plugin(name)
140140

141141
def disable(self, name: str) -> None:
142-
self.config.set_key('use_' + name, False, True)
142+
self.config.set_key('use_' + name, False, save=True)
143143
p = self.get(name)
144144
if not p:
145145
return

electrum/plugins/trustedcoin/qt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def show_settings_dialog(self, window, success):
208208
grid.addWidget(QLabel(window.format_amount(v/k) + ' ' + window.base_unit() + "/tx"), i, 1)
209209
b = QRadioButton()
210210
b.setChecked(k == n_prepay)
211-
b.clicked.connect(lambda b, k=k: self.config.set_key('trustedcoin_prepay', k, True))
211+
b.clicked.connect(lambda b, k=k: self.config.set_key('trustedcoin_prepay', k, save=True))
212212
grid.addWidget(b, i, 2)
213213
i += 1
214214

electrum/simple_config.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def rename_config_keys(self, config, keypairs, deprecation_warning=False):
158158
updated = True
159159
return updated
160160

161-
def set_key(self, key, value, save=True):
161+
def set_key(self, key, value, *, save=True):
162162
if not self.is_modifiable(key):
163163
self.logger.warning(f"not changing config key '{key}' set on the command line")
164164
return
@@ -168,9 +168,9 @@ def set_key(self, key, value, save=True):
168168
except Exception:
169169
self.logger.info(f"json error: cannot save {repr(key)} ({repr(value)})")
170170
return
171-
self._set_key_in_user_config(key, value, save)
171+
self._set_key_in_user_config(key, value, save=save)
172172

173-
def _set_key_in_user_config(self, key, value, save=True):
173+
def _set_key_in_user_config(self, key, value, *, save=True):
174174
with self.lock:
175175
if value is not None:
176176
self.user_config[key] = value
@@ -709,7 +709,7 @@ def get_base_unit(self):
709709
def set_base_unit(self, unit):
710710
assert unit in base_units.keys()
711711
self.decimal_point = base_unit_name_to_decimal_point(unit)
712-
self.set_key('decimal_point', self.decimal_point, True)
712+
self.set_key('decimal_point', self.decimal_point, save=True)
713713

714714
def get_decimal_point(self):
715715
return self.decimal_point

0 commit comments

Comments
 (0)