#!/usr/bin/env python
import argparse
import json

from tensorflow_serving_client import TensorflowServingClient

if __name__ == '__main__':
    parser = argparse.ArgumentParser()

    parser.add_argument('--host', required=True, type=str, help='Hostname to query')
    parser.add_argument('--port', required=True, type=int, help='Port to query')
    parser.add_argument('--model', required=True, type=str, help='Name of the model spec to query')
    parser.add_argument('--image', required=True, type=str, help='Image to send (JPG format)')
    parser.add_argument('--size', required=True, type=str, help='Resize the image to this target size')
    args = parser.parse_args()

    target_size = [int(i) for i in args.size.split('x')]

    client = TensorflowServingClient(args.host, args.port, args.model, target_size)
    results = client.classify_image(args.image)

    print(json.dumps(results, indent=4, sort_keys=True))
