SomberNight 6 years ago
parent
commit
69a204d726
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 10
      electrum/gui/kivy/main_window.py
  2. 11
      electrum/gui/qt/main_window.py
  3. 9
      electrum/util.py

10
electrum/gui/kivy/main_window.py

@ -69,7 +69,8 @@ Label.register('Roboto',
from electrum.util import (base_units, NoDynamicFeeEstimates, decimal_point_to_base_unit_name, from electrum.util import (base_units, NoDynamicFeeEstimates, decimal_point_to_base_unit_name,
base_unit_name_to_decimal_point, NotEnoughFunds) base_unit_name_to_decimal_point, NotEnoughFunds, UnknownBaseUnit,
DECIMAL_POINT_DEFAULT)
class ElectrumWindow(App): class ElectrumWindow(App):
@ -163,8 +164,11 @@ class ElectrumWindow(App):
self._trigger_update_history() self._trigger_update_history()
def _get_bu(self): def _get_bu(self):
decimal_point = self.electrum_config.get('decimal_point', 5) decimal_point = self.electrum_config.get('decimal_point', DECIMAL_POINT_DEFAULT)
return decimal_point_to_base_unit_name(decimal_point) try:
return decimal_point_to_base_unit_name(decimal_point)
except UnknownBaseUnit:
return decimal_point_to_base_unit_name(DECIMAL_POINT_DEFAULT)
def _set_bu(self, value): def _set_bu(self, value):
assert value in base_units.keys() assert value in base_units.keys()

11
electrum/gui/qt/main_window.py

@ -49,7 +49,8 @@ from electrum.util import (format_time, format_satoshis, format_fee_satoshis,
UserCancelled, NoDynamicFeeEstimates, profiler, UserCancelled, NoDynamicFeeEstimates, profiler,
export_meta, import_meta, bh2u, bfh, InvalidPassword, export_meta, import_meta, bh2u, bfh, InvalidPassword,
base_units, base_units_list, base_unit_name_to_decimal_point, base_units, base_units_list, base_unit_name_to_decimal_point,
decimal_point_to_base_unit_name, quantize_feerate) decimal_point_to_base_unit_name, quantize_feerate,
UnknownBaseUnit, DECIMAL_POINT_DEFAULT)
from electrum.transaction import Transaction, TxOutput from electrum.transaction import Transaction, TxOutput
from electrum.address_synchronizer import AddTransactionException from electrum.address_synchronizer import AddTransactionException
from electrum.wallet import Multisig_Wallet, CannotBumpFee from electrum.wallet import Multisig_Wallet, CannotBumpFee
@ -126,8 +127,12 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
self.create_status_bar() self.create_status_bar()
self.need_update = threading.Event() self.need_update = threading.Event()
self.decimal_point = config.get('decimal_point', 5) self.decimal_point = config.get('decimal_point', DECIMAL_POINT_DEFAULT)
self.num_zeros = int(config.get('num_zeros',0)) try:
decimal_point_to_base_unit_name(self.decimal_point)
except UnknownBaseUnit:
self.decimal_point = DECIMAL_POINT_DEFAULT
self.num_zeros = int(config.get('num_zeros', 0))
self.completions = QStringListModel() self.completions = QStringListModel()

9
electrum/util.py

@ -49,13 +49,18 @@ base_units = {'BTC':8, 'mBTC':5, 'bits':2, 'sat':0}
base_units_inverse = inv_dict(base_units) base_units_inverse = inv_dict(base_units)
base_units_list = ['BTC', 'mBTC', 'bits', 'sat'] # list(dict) does not guarantee order base_units_list = ['BTC', 'mBTC', 'bits', 'sat'] # list(dict) does not guarantee order
DECIMAL_POINT_DEFAULT = 5 # mBTC
class UnknownBaseUnit(Exception): pass
def decimal_point_to_base_unit_name(dp: int) -> str: def decimal_point_to_base_unit_name(dp: int) -> str:
# e.g. 8 -> "BTC" # e.g. 8 -> "BTC"
try: try:
return base_units_inverse[dp] return base_units_inverse[dp]
except KeyError: except KeyError:
raise Exception('Unknown base unit') raise UnknownBaseUnit(dp) from None
def base_unit_name_to_decimal_point(unit_name: str) -> int: def base_unit_name_to_decimal_point(unit_name: str) -> int:
@ -63,7 +68,7 @@ def base_unit_name_to_decimal_point(unit_name: str) -> int:
try: try:
return base_units[unit_name] return base_units[unit_name]
except KeyError: except KeyError:
raise Exception('Unknown base unit') raise UnknownBaseUnit(unit_name) from None
def normalize_version(v): def normalize_version(v):

Loading…
Cancel
Save