Address filename improvements

modified:   mmgen/addr.py
This commit is contained in:
The MMGen Project 2013-12-10 12:00:37 +04:00
commit 679ce344f6

View file

@ -176,19 +176,37 @@ def format_addr_data(addrlist, seed_chksum, opts):
return "\n".join(data) + "\n"
def fmt_addr_list(addr_list):
prev = addr_list[0]
ret = prev,
for i in addr_list[1:]:
if i == prev + 1:
if i == addr_list[-1]: ret += "-", i
else:
if prev != ret[-1]: ret += "-", prev
ret += ",", i
prev = i
return "".join([str(i) for i in ret])
def write_addr_data_to_file(seed, data, addr_list, opts):
if 'print_addresses_only' in opts: ext = "addrs"
elif 'no_addresses' in opts: ext = "keys"
else: ext = "akeys"
if 'b16' in opts: ext = ext.replace("keys","xkeys")
beg = addr_list[0]
end = addr_list[-1]
sep = "-" if (end - beg == len(addr_list) - 1) else ".."
from mmgen.utils import write_to_file, make_chksum_8, msg
addr_range = beg if beg == end else "%s%s%s" % (beg,sep,end)
outfile = "{}[{}].{}".format(make_chksum_8(seed),addr_range,ext)
outfile = "{}[{}].{}".format(
make_chksum_8(seed),
fmt_addr_list(addr_list),
ext
)
if 'outdir' in opts:
outfile = "%s/%s" % (opts['outdir'], outfile)
@ -196,3 +214,6 @@ def write_addr_data_to_file(seed, data, addr_list, opts):
dtype = "Address" if 'print_addresses_only' in opts else "Key"
msg("%s data saved to file '%s'" % (dtype,outfile))
if __name__ == "__main__":
print fmt_addr_list(sorted(set([1,3,5,2,8,9,10,12,13,14,16])))