#!/usr/bin/env python3
# vim: fileencoding=utf-8 ft=python et sw=4 ts=4 sts=4 tw=79

import os


def main():
    line_dict = {}
    with open('diceware_wordlist_cz.txt', 'rt', encoding='utf8') as f:
        # f.read(3)  # skip BOM
        for num, word in (l.rstrip('\n').split(None, 1) for l in f):
            pre = num[:-1]
            if pre in line_dict:
                line_dict[pre].append(word)
            else:
                line_dict[pre] = [word]

    with open('diceware_table_nice.txt.new', 'wt', encoding='utf8') as f:
        for num, words in sorted(line_dict.items()):
            f.write('%s%sX: %s\n' % (
                '¯' if num.endswith('11') else (
                    '_' if num.endswith('6') else ' '
                ),
                num,
                ' | '.join(word.ljust(6) for word in words)
            ))

    os.rename('diceware_table_nice.txt.new', 'diceware_table_nice.txt')


if __name__ == '__main__':
    main()