Я сделал немного больше прогресса по этому вопросу. Мне удалось заставить его работать с местом значений 8 знаков Bitcoin. Это довольно небольшое изменение, и я обновил все мои ценности из моего кошелька с 8 знаками после запятой. Он работает нормально, но у меня был один раз, когда он упал - так что я думаю, что есть еще что-то неправильно в поле ввода суммы разборе. Я бы рекомендовал, если вы попытаетесь это сделать, чтобы сохранить резервные копии файла данных moneyguru перед каждым использованием. По крайней мере, до этого было испытано больше. (Файл moneyguru данные, как представляется, XML счет + список транзакций.)
Вот полный патч, который добавляет XBC символ и обновление кода начального синтаксического анализа для поддержки 8 знаков после запятой. Это применяется в / USR / доли / каталога moneyguru и затрагивает два файла с помощью всего нескольких строк каждая.
--- hscommon / currency.py.orig 2012-12-11 13: 14: +49,395809143 +0700
+++ hscommon / currency.py 2012-12-20 21: 54: +09,355576324 +0700
@@ -256,7 +256,9 @@
дата_начала = дата (1998, 1, 2), start_rate = 0,5278, latest_rate = 0,3793)
XPF = Currency.register ( 'XPF', 'Франк КФП',
показатель = 0, дата_начала = дата (1998, 1, 2), start_rate = 0,01299, latest_rate = 0,01114)
-
+XBC = Currency.register ( 'XBC', 'Bitcoin',
+ показатель = 8, дата_начала = дата (1998, 1, 2), start_rate = 13.50, latest_rate = 13.50)
+
Класс RatesDB:
"""Магазины обменных курсов для валют.
--- ядро / модель / amount.py.orig 2012-12-20 21: 52: +48,043173127 +0700
+++ ядро / модель / amount.py 2012-12-20 21: 55: +04,127847928 +0700
@@ -30,6 +30,8 @@
re_decimal_sep_2 = re.compile (г"[,.] (? = \ Д {1,2} $)")
# валюты с 3 знаками после запятой
re_decimal_sep_3 = re.compile (г"[,.] (? = \ Д {1,3} $)")
+# валюты с 8 знаков после запятой
+re_decimal_sep_8 = re.compile (г"[,.] (? = \ Д {1,8} $)")
# Действительное количество, как только она была предварительно обработана
re_amount = re.compile (г"\ D + \ \ d + |. \ \ D + |. \ D +")
@@ -86,7 +88,9 @@
# Теперь у нас есть строка, которая может иметь разделители тысяч и может иметь или не иметь
# Десятичное сепаратор, который может быть либо "," или ",", Сначала мы найдем наш десятичную сен
# И заменить его с заполнителем полукокса, найти все тысячи ПОШ, заменить их ничем.
- если показатель == 3:
+ если показатель == 8:
+ строка = re_decimal_sep_8.sub ( '|', строка)
+ Элиф показатель == 3:
строка = re_decimal_sep_3.sub ( '|', строка)
Элиф показатель == 2:
строка = re_decimal_sep_2.sub ( '|', строка)
Я буду смотреть на плагин для импорта транзакций из бумажника Электрума, и, вероятно, функцию обновления обменного курса для экрана Net Worth.