mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-09-02 18:25:21 +00:00
util: add function "chunks"
taken from ElectrumX
67111a3c4c/electrumx/lib/util.py (L149)
This commit is contained in:
parent
1ebfcc0f36
commit
30ffb3d4dc
2 changed files with 15 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
|||
from decimal import Decimal
|
||||
|
||||
from electrum.util import (format_satoshis, format_fee_satoshis, parse_URI,
|
||||
is_hash256_str)
|
||||
is_hash256_str, chunks)
|
||||
|
||||
from . import SequentialTestCase
|
||||
|
||||
|
@ -104,3 +104,9 @@ class TestUtil(SequentialTestCase):
|
|||
self.assertFalse(is_hash256_str('qweqwe'))
|
||||
self.assertFalse(is_hash256_str(None))
|
||||
self.assertFalse(is_hash256_str(7))
|
||||
|
||||
def test_chunks(self):
|
||||
self.assertEqual([[1, 2], [3, 4], [5]],
|
||||
list(chunks([1, 2, 3, 4, 5], 2)))
|
||||
with self.assertRaises(ValueError):
|
||||
list(chunks([1, 2, 3], 0))
|
||||
|
|
|
@ -520,6 +520,14 @@ def is_non_negative_integer(val) -> bool:
|
|||
return False
|
||||
|
||||
|
||||
def chunks(items, size: int):
|
||||
"""Break up items, an iterable, into chunks of length size."""
|
||||
if size < 1:
|
||||
raise ValueError(f"size must be positive, not {repr(size)}")
|
||||
for i in range(0, len(items), size):
|
||||
yield items[i: i + size]
|
||||
|
||||
|
||||
def format_satoshis_plain(x, decimal_point = 8):
|
||||
"""Display a satoshi amount scaled. Always uses a '.' as a decimal
|
||||
point and has no thousands separator"""
|
||||
|
|
Loading…
Add table
Reference in a new issue