import socket import getopt import sys import subprocess client_socket = socket.socket() server_IP = "192.168.188.61" def connect(host, port = 5000): client_socket.connect((host, port)) def disconnect(): client_socket.close() # close the connection def send(data): #validate data. should be hex color client_socket.send(data.encode()) # send message def helpmenu(): print("Options:") print("-h show help") print("-s set static color in hex") print("-v visualizer()") def visualizer(): with subprocess.Popen(["cava", "-p", "./config"], stdout=subprocess.PIPE) as cava: print(cava.stdout.readlines()) def main(argv): try: opts, args = getopt.getopt(argv, "s:vh") except getopt.GetoptError: print(sys.argv[0], "invalid option") print("Try", sys.argv[0], "-h for help") sys.exit(1) for opt, arg in opts: if opt == "-h": helpmenu() sys.exit() elif opt == "-s": connect(server_IP) send(arg) elif opt == "-v": connect(server_IP) visualizer() if __name__ == "__main__": main(sys.argv[1:])