38 lines
1.3 KiB
Python
Raw Permalink Normal View History

2018-01-11 22:27:54 -07:00
import argparse
import io
import sys
from typing import NoReturn
2018-01-11 22:27:54 -07:00
from robohash import Robohash
def main() -> NoReturn:
"""
Command-line interface for Robohash.
Parses arguments and generates a robot image based on input text.
"""
parser = argparse.ArgumentParser(description="Generate a robot hash image from text input")
parser.add_argument("-s", "--set", default="set1", help="Robot set to use (set1, set2, set3, set4, set5, or 'any')")
parser.add_argument("-x", "--width", type=int, default=300, help="Width of output image")
parser.add_argument("-y", "--height", type=int, default=300, help="Height of output image")
parser.add_argument("-f", "--format", default="png", help="Output format (png, jpeg, etc.)")
parser.add_argument("-b", "--bgset", help="Background set to use (bg1, bg2, or 'any')")
parser.add_argument("-o", "--output", default="robohash.png", help="Output filename")
parser.add_argument("text", help="Text to use for the hash")
args = parser.parse_args()
robohash = Robohash(args.text)
robohash.assemble(
roboset=args.set,
bgset=args.bgset,
sizex=args.width,
sizey=args.height,
format=args.format
)
robohash.img.save(args.output, format=args.format)
sys.exit(0)
2018-01-11 22:27:54 -07:00
if __name__ == "__main__":
main()