#!/usr/bin/env python import argparse import blockies class Argparser: # pylint: disable=too-few-public-methods """Argparser class.""" def __init__(self): self.parser = argparse.ArgumentParser() self.parser.add_argument( "--seed", "-s", type=str, help="seed phrase", default="", ) self.parser.add_argument( "--input", "-i", type=str, help="path to the input file", default="", ) self.parser.add_argument( "--out", "-o", type=str, help="output path", default="./identicon.png", ) self.parser.add_argument( "--fgcolor", "-f", type=str, help="foreground color", default=None, ) self.parser.add_argument( "--bgcolor", "-b", type=str, help="background color", default=None, ) self.parser.add_argument( "--spotcolor", "-p", type=str, help="spot color", default=None, ) self.parser.add_argument( "--size", "-z", type=int, help="size of image, in blocks", default=10, ) self.parser.add_argument( "--scale", "-c", type=int, help='size of individual "pixels"', default=100, ) self.args = self.parser.parse_args() def main() -> None: argparser = Argparser() seed = str() if argparser.args.input != "": with open( argparser.args.input, mode="rb", ) as gpg_pubkey: key_content = gpg_pubkey.read() seed = str(key_content) else: seed = argparser.args.seed data = blockies.create( argparser.args.seed, size=argparser.args.size, scale=argparser.args.scale, color=argparser.args.fgcolor, bgcolor=argparser.args.bgcolor, spotcolor=argparser.args.spotcolor, ) with open(argparser.args.out, "wb") as png: png.write(data) if __name__ == "__main__": main()