tutil: small clean-up re format_satoshis - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit 5afdc14913c464643efe1bf65763e8285d5ac4b6
 (DIR) parent 8fa6bd2aac4a289874cf29494081337796016055
 (HTM) Author: SomberNight <somber.night@protonmail.com>
       Date:   Sat, 13 Oct 2018 04:21:07 +0200
       
       util: small clean-up re format_satoshis
       
       related #4771
       
       Diffstat:
         M electrum/gui/qt/main_window.py      |       2 +-
         M electrum/tests/test_util.py         |      58 +++++++++++--------------------
         M electrum/util.py                    |       7 +++++--
       
       3 files changed, 27 insertions(+), 40 deletions(-)
       ---
 (DIR) diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py
       t@@ -688,7 +688,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                return text
        
            def format_fee_rate(self, fee_rate):
       -        return format_fee_satoshis(fee_rate/1000, self.num_zeros) + ' sat/byte'
       +        return format_fee_satoshis(fee_rate/1000, num_zeros=self.num_zeros) + ' sat/byte'
        
            def get_decimal_point(self):
                return self.decimal_point
 (DIR) diff --git a/electrum/tests/test_util.py b/electrum/tests/test_util.py
       t@@ -1,4 +1,6 @@
       -from electrum.util import format_satoshis, parse_URI
       +from decimal import Decimal
       +
       +from electrum.util import format_satoshis, format_fee_satoshis, parse_URI
        
        from . import SequentialTestCase
        
       t@@ -6,56 +8,38 @@ from . import SequentialTestCase
        class TestUtil(SequentialTestCase):
        
            def test_format_satoshis(self):
       -        result = format_satoshis(1234)
       -        expected = "0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("0.00001234", format_satoshis(1234))
        
            def test_format_satoshis_negative(self):
       -        result = format_satoshis(-1234)
       -        expected = "-0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("-0.00001234", format_satoshis(-1234))
        
            def test_format_fee(self):
       -        result = format_satoshis(1700/1000, 0, 0)
       -        expected = "1.7"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("1.7", format_fee_satoshis(1700/1000))
        
            def test_format_fee_precision(self):
       -        result = format_satoshis(1666/1000, 0, 0, precision=6)
       -        expected = "1.666"
       -        self.assertEqual(expected, result)
       -
       -        result = format_satoshis(1666/1000, 0, 0, precision=1)
       -        expected = "1.7"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("1.666",
       +                         format_fee_satoshis(1666/1000, precision=6))
       +        self.assertEqual("1.7",
       +                         format_fee_satoshis(1666/1000, precision=1))
        
            def test_format_satoshis_whitespaces(self):
       -        result = format_satoshis(12340, whitespaces=True)
       -        expected = "     0.0001234 "
       -        self.assertEqual(expected, result)
       -
       -        result = format_satoshis(1234, whitespaces=True)
       -        expected = "     0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("     0.0001234 ",
       +                         format_satoshis(12340, whitespaces=True))
       +        self.assertEqual("     0.00001234",
       +                         format_satoshis(1234, whitespaces=True))
        
            def test_format_satoshis_whitespaces_negative(self):
       -        result = format_satoshis(-12340, whitespaces=True)
       -        expected = "    -0.0001234 "
       -        self.assertEqual(expected, result)
       -
       -        result = format_satoshis(-1234, whitespaces=True)
       -        expected = "    -0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("    -0.0001234 ",
       +                         format_satoshis(-12340, whitespaces=True))
       +        self.assertEqual("    -0.00001234",
       +                         format_satoshis(-1234, whitespaces=True))
        
            def test_format_satoshis_diff_positive(self):
       -        result = format_satoshis(1234, is_diff=True)
       -        expected = "+0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("+0.00001234",
       +                         format_satoshis(1234, is_diff=True))
        
            def test_format_satoshis_diff_negative(self):
       -        result = format_satoshis(-1234, is_diff=True)
       -        expected = "-0.00001234"
       -        self.assertEqual(expected, result)
       +        self.assertEqual("-0.00001234", format_satoshis(-1234, is_diff=True))
        
            def _do_test_parse_URI(self, uri, expected):
                result = parse_URI(uri)
 (DIR) diff --git a/electrum/util.py b/electrum/util.py
       t@@ -540,8 +540,11 @@ FEERATE_PRECISION = 1  # num fractional decimal places for sat/byte fee rates
        _feerate_quanta = Decimal(10) ** (-FEERATE_PRECISION)
        
        
       -def format_fee_satoshis(fee, num_zeros=0):
       -    return format_satoshis(fee, num_zeros, 0, precision=FEERATE_PRECISION)
       +def format_fee_satoshis(fee, *, num_zeros=0, precision=None):
       +    if precision is None:
       +        precision = FEERATE_PRECISION
       +    num_zeros = min(num_zeros, FEERATE_PRECISION)  # no more zeroes than available prec
       +    return format_satoshis(fee, num_zeros=num_zeros, decimal_point=0, precision=precision)
        
        
        def quantize_feerate(fee):