#!/usr/bin/env python
"""pagan command line interface"""

import argparse
import os
import pagan
from pagan import generator

parser = argparse.ArgumentParser()
parser.add_argument("input", nargs="+",
                    help="string, basis of avatar computing")
parser.add_argument("--show", action="store_true",
                    help="show avatar in external editor, default behavior")
parser.add_argument("--output",
                    help="save image to specific output path")
parser.add_argument("--hash", default="MD5",
                    help="use hash function, allowed %s, default %s" %
                    (generator.HASHES.values(), list(generator.HASHES.values())[0]))

args = parser.parse_args()

slogan = " ".join(args.input)

if args.hash and args.hash not in generator.HASHES.values():
    HASH = ""
elif args.hash and args.hash in generator.HASHES.values():
    HASH = list(generator.HASHES.values()).index(args.hash)

if not args.output:
    args.show = True

img = pagan.Avatar(slogan, HASH)
if args.show:
    img.show()

if args.output:
    img.save(*os.path.split(args.output))
else:
    img.save(os.getcwd(), filename=args.input[0])