import os import sys import socketio import time from threading import Timer sio = socketio.Client() @sio.event def connect(): sio.emit('subscribe',{'channel':'transactionConfirmation.'+str(sys.argv[2])}) @sio.event def transactionConfirmed(content, msg): sio.disconnect() os._exit(0) @sio.event def transactionDenied(content, msg): sio.disconnect() os._exit(1) @sio.event def transactionExpired(content, msg): sio.disconnect() os._exit(2) def exitfunc(): sio.disconnect() os._exit(0) Timer(900, exitfunc).start() sio.connect(str(sys.argv[1]), transports='websocket', socketio_path='/ws/socket.io') try: while True: time.sleep(1) except KeyboardInterrupt: sio.disconnect() os._exit(0)