#!/usr/bin/env python3

import argparse
import sys
import os


# if script's parent directory isn't in sys.path, then add it
if ('/'.join(sys.path[0].split("/")[:-1]) not in sys.path):
    sys.path.append('/'.join(sys.path[0].split("/")[:-1]))

from apsdk import dmclient


def main(cmd, payload=''):
    dm_client = dmclient.DMClient('')

    resp = dm_client.send_request(cmd, payload)

    print("DM Reply :\n", resp.text)


if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="Send a command to AP Device Manager.")
    parser.add_argument("-c", "--command", metavar="COMMAND", help="command to send to server (can not be empty)")
    parser.add_argument("-i", "--uploadfile", metavar="FILE", help="file to upload to the server")

    args = parser.parse_args()
    if (args.command):
        dm_cmd = args.command
    else:
        parser.error("You must specify a command to send to AP Device Manager")

    if (args.uploadfile):
        if (os.path.isfile(args.uploadfile)):
            with open(args.uploadfile, 'r', newline=None) as payload_file:
                payload = payload_file.read()
        else:
            parser.error("Upload File not found at: " + args.uploadfile)
    else:
        payload = ''

    main(dm_cmd, payload)
