view python/example/find_str_format.py @ 847:6c918c07d0e3

[gpg] make a front-end to add a line to a gpg symmetrically encrypted file
author Jeff Hammel <k0scist@gmail.com>
date Tue, 17 Oct 2017 11:59:09 -0700
parents 8275fa887f2b
children
line wrap: on
line source

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
find str format options
"""

import argparse
import os
import subprocess
import sys

__all__ = ['main']

def find_keys(string):
    retval = set()
    while True:
        try:
            string.format(**{i:'' for i in retval})
            return retval
        except KeyError as e:
            retval.add(e.message)


def main(args=sys.argv[1:]):

    string = ' '.join(args)
    keys = find_keys(string)
    print ('\n'.join(sorted(keys)))

if __name__ == '__main__':
    main()