"""
Prometheus API helper functions
(c) 2016 by Steven Van Rossem <steven.vanrossem@intec.ugent.be>
"""

#import urllib2
import requests
#import ast

# set this to localhost for now
# this is correct for son-emu started outside of a container or as a container with net=host
#TODO prometheus sdk DB is started outside of emulator, place these globals in an external SDK config file?
prometheus_ip = '127.0.0.1'
prometheus_port = '9090'
prometheus_REST_api = 'http://{0}:{1}'.format(prometheus_ip, prometheus_port)


def query_Prometheus(query):
    url = prometheus_REST_api + '/' + 'api/v1/query?query=' + query
    # logging.info('query:{0}'.format(url))
    #req = urllib2.Request(url)
    req = requests.get(url)
    #ret = urllib2.urlopen(req).read()
    #ret = ast.literal_eval(ret)
    ret = req.json()
    if ret['status'] == 'success':
        # logging.info('return:{0}'.format(ret))
        try:
            ret = ret['data']['result'][0]['value']
        except:
            ret = None
    else:
        ret = None
    return ret