From de6736144bbaba4fff3c7f896e6b0c02eb7d6f58 Mon Sep 17 00:00:00 2001 From: Maya Herrscher Date: Tue, 10 Oct 2023 14:41:26 +0200 Subject: [PATCH] Reado parsing with argparse --- pixelflut.py | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/pixelflut.py b/pixelflut.py index c918225..8593b7d 100755 --- a/pixelflut.py +++ b/pixelflut.py @@ -7,16 +7,28 @@ import string import numpy as np from PIL import Image from cat import cat +import argparse +# parser stuff +parser = argparse.ArgumentParser( + prog='FluffyPixelfluter', + description='used to paint Pixelflut canvas',) +parser.add_argument('hostname') +parser.add_argument('port') +parser.add_argument('-i','--image') +parser.add_argument('-r','--random', action='store_true') +parser.add_argument('-c','--cat', action='store_true') +parser.add_argument('-wd','--width', default=0) +parser.add_argument('-ht','--height', default=0) +args = parser.parse_args() -HOST, PORT = "px.oeinf.de", 1234 +HOST, PORT = args.hostname, int(args.port) # change start point if requested -starth, startw = 0, 0 -if len(sys.argv) > 2: starth = int(sys.argv[2]) -if len(sys.argv) > 3: startw = int(sys.argv[3]) -rnd = False -if len(sys.argv) > 4: rnd = sys.argv[4] == "rnd" +starth = int(args.height) +startw = int(args.width) + +rnd = args.random # Create a socket (SOCK_STREAM means a TCP socket) # Connect to server and send data @@ -31,11 +43,8 @@ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sizeh = int(received.split(" ")[2]) # open image to be sent or query a cat image - if sys.argv[1] == 'cat': - im = cat(sizew,sizeh) - else: - image = sys.argv[1] - im = Image.open(image) + if args.cat: im = cat(sizew,sizeh) + elif image in args: im = Image.open(args.image) pixels = list(im.getdata()) width, height = im.size