#!/usr/bin/python3
# LAVA Controls CLI - Copyright 2018 Lucid Networks - Stephen Loeckle

import argparse
import socket
import binascii

PORT = 7142

def main():

    parser = argparse.ArgumentParser(description='LAVA Controls - getdisplaystatus')
    parser.add_argument('-ip', '--ip', help = 'IP of Requested Display', nargs=1)
    parser.add_argument('-c', '--cmd', help = 'RAW Command to Send to Display', nargs=1)
    cliargs = parser.parse_args()

    if (not cliargs.ip):
        parser.error('IP required')
    else:
        ip = cliargs.ip[0].strip()
    if (not cliargs.cmd):
        cmd = b'01 30 2A 30 43 30 36 02 30 32 33 45 03 1A 0D'
        cmd = bytes.fromhex(cmd)
    else:
        cmd = cliargs.cmd[0].strip()
        cmd = bytes.fromhex(cmd)

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(10)
    s.connect((ip, PORT))
    print(cmd)
    s.send(cmd)
    received = s.recv(27)
    print(received)
    hexreceived = binascii.b2a_hex(received)
    print(hexreceived)
    s.close()


if __name__ == '__main__':
   main()