#!/usr/bin/env python
from subprocess import call
import sys
from os import EX_USAGE
from signal import SIGINT

def usage(exe):
	print("Usage: " +  exe + """ [shared-ports] xfreerdp-args
Connect to Windows RDP server and transfer shared USB device to it.
Arguments:
  shared-ports  - comma-separated list of TCP ports for USB devices shared via USB Network Gate.
                  If not specified, all shared devices will be transfered.
  xfreerdp-args - arguments to pass to xfreerdp
""")
	return EX_USAGE

libs = "/opt/Eltima/eveusb/lib/"
#libs = ".libs/"
drdynvc = libs + "libdrdynvc"
urbdrc  = libs + "liburbdrc" 


def get_cmd(args):
	data = urbdrc
	if len(args) > 1 and args[0][0] != '-':
		data += ':' + args[0]
		args = args[1:]
	return ["xfreerdp", "--plugin", drdynvc, "--data", data, "--"] + args

def exec_cmd(cmd):
	try: 
	    return call(cmd, stdout=sys.stdout, stderr=sys.stderr)
	except (KeyboardInterrupt):
	    return 128 + SIGINT



def main():
	exe = sys.argv[0]
	args = sys.argv[1:]
	sys.exit( exec_cmd(get_cmd(args)) if args else usage(exe) )

if __name__ == "__main__":
	main()
