#!/usr/bin/env python
# -*- coding: utf-8 -*-


import sys
import argh
import pandas
import dateutil.parser

import flask_bigtempo.utils as butils
import flask_bigtempo.bigtempo.defaults as defaults
import flask_bigtempo.bigtempo.clients as clients


@argh.named('process')
def rest_process(reference, symbol, start=None, end=None,
	              json_format=defaults.DEFAULT_JSON_FORMAT,
                  date_format=defaults.DEFAULT_DATE_FORMAT,
	              host=defaults.DEFAULT_HOST):
	start = butils.parse_datetime_str(start)
	end = butils.parse_datetime_str(end)

	json = clients.JSONBigtempoRestClient(host).process(reference, symbol,
		                                                start=start, end=end,
		                                                json_format=json_format,
                                                        date_format=date_format)
	if json is None:
		print 'ERROR: No json returned'
		sys.exit(1)

	print json


if __name__ == '__main__':
    parser = argh.ArghParser()
    parser.add_commands([process],
                        namespace='rest',
                        title='REST interface client commands')

    parser.dispatch()
