Version 0.7.5a - bugfix release

This commit is contained in:
philemon 2014-07-28 00:48:50 +04:00
commit 08e723c867
4 changed files with 22 additions and 21 deletions

View file

@ -121,15 +121,15 @@ if len(cmd_args) == 1 and (
or 'from_seed' in opts
or 'from_incog_hidden' in opts
):
infile,addr_list_arg = "",cmd_args[0]
infile,addr_idx_arg = "",cmd_args[0]
elif len(cmd_args) == 2:
infile,addr_list_arg = cmd_args
infile,addr_idx_arg = cmd_args
check_infile(infile)
else: usage(help_data)
addr_list = parse_address_list(addr_list_arg)
addr_idxs = parse_address_list(addr_idx_arg)
if not addr_list: sys.exit(2)
if not addr_idxs: sys.exit(2)
do_license_msg()
@ -147,13 +147,13 @@ else:
seed = get_seed_retry(infile,opts)
seed_id = make_chksum_8(seed)
addr_data = generate_addrs(seed, addr_list, opts)
addr_data = generate_addrs(seed, addr_idxs, opts)
addr_data_chksum = make_chksum_8(
" ".join(["{} {}".format(a['num'],a['addr']) for a in addr_data]),
sep=True
)
addr_data_str = format_addr_data(
addr_data, addr_data_chksum, seed_id, addr_list, opts)
addr_data, addr_data_chksum, seed_id, addr_idxs, opts)
# Output data:
if 'stdout' in opts:
@ -164,9 +164,9 @@ if 'stdout' in opts:
elif not sys.stdout.isatty():
write_to_stdout(addr_data_str,"secret keys",confirm=False)
else:
write_addr_data_to_file(seed, addr_data_str, addr_list, opts)
write_addr_data_to_file(seed, addr_data_str, addr_idxs, opts)
msg("""
Checksum for address data {}[{}]: {}
Remember this checksum or save it to a secure location
""".format(seed_id, fmt_addr_list(addr_list), addr_data_chksum).strip())
""".format(seed_id, fmt_addr_idxs(addr_idxs), addr_data_chksum).strip())

View file

@ -125,7 +125,7 @@ def generate_keys(seed, addrnums):
return generate_addrs(seed, addrnums, o)
def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts):
def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_idxs, opts):
start = addr_data[0]['num']
end = addr_data[-1]['num']
@ -143,7 +143,7 @@ def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts):
data = []
if not 'stdout' in opts: data.append(addrmsgs['addrfile_header'] + "\n")
data.append("# Address data checksum for {}[{}]: {}".format(
seed_id, fmt_addr_list(addr_list), addr_data_chksum))
seed_id, fmt_addr_idxs(addr_idxs), addr_data_chksum))
data.append("# Record this value to a secure location\n")
data.append("%s {" % seed_id.upper())
@ -171,16 +171,16 @@ def format_addr_data(addr_data, addr_data_chksum, seed_id, addr_list, opts):
return "\n".join(data) + "\n"
def fmt_addr_list(addr_list):
def fmt_addr_idxs(addr_idxs):
addr_list = list(set(sorted(addr_list)))
addr_idxs = list(sorted(set(addr_idxs)))
prev = addr_list[0]
prev = addr_idxs[0]
ret = prev,
for i in addr_list[1:]:
for i in addr_idxs[1:]:
if i == prev + 1:
if i == addr_list[-1]: ret += "-", i
if i == addr_idxs[-1]: ret += "-", i
else:
if prev != ret[-1]: ret += "-", prev
ret += ",", i
@ -189,7 +189,7 @@ def fmt_addr_list(addr_list):
return "".join([str(i) for i in ret])
def write_addr_data_to_file(seed, addr_data_str, addr_list, opts):
def write_addr_data_to_file(seed, addr_data_str, addr_idxs, opts):
if 'print_addresses_only' in opts: ext = g.addrfile_ext
elif 'no_addresses' in opts: ext = g.keyfile_ext
@ -199,7 +199,7 @@ def write_addr_data_to_file(seed, addr_data_str, addr_list, opts):
from mmgen.util import write_to_file, make_chksum_8
outfile = "{}[{}].{}".format(
make_chksum_8(seed),
fmt_addr_list(addr_list),
fmt_addr_idxs(addr_idxs),
ext
)
if 'outdir' in opts:

View file

@ -563,12 +563,13 @@ Only ASCII printable characters are permitted.
def check_addr_data_hash(seed_id,addr_data):
from hashlib import new as hashlib_new
def s_addrdata(a): return int(a[0])
addr_data.sort(key=s_addrdata)
addr_data_chksum = make_chksum_8(
" ".join(["{} {}".format(*d[:2]) for d in addr_data]), sep=True
)
from mmgen.addr import fmt_addr_list
fl = fmt_addr_list([int(a[0]) for a in addr_data])
from mmgen.addr import fmt_addr_idxs
fl = fmt_addr_idxs([int(a[0]) for a in addr_data])
msg("Computed address data checksum for '{}[{}]': {}".format(
seed_id,fl,addr_data_chksum))
msg("Check this value against your records")

View file

@ -3,7 +3,7 @@ from distutils.core import setup
setup(
name = 'mmgen',
version = '0.7.5',
version = '0.7.5',
author = 'Philemon',
author_email = 'mmgen-py@yandex.com',
url = 'https://github.com/mmgen/mmgen',