#!/usr/bin/python3

import requests
#import urllib2
import json
import time
import matplotlib.pyplot as plt
import numpy as np

def getVal(s):
    if type(s)==type(dict()):
        if "value" in s.keys():
            result=float(s["value"])
    elif type(s)==type(str()):
        result=float(s.split(" ")[0])
    return(result)

def floatify(s):
    try:
        result=float(s)
    except:
        try:
            result=getVal(s)
        except:
            result=-0.0
    return(result)

#plt.rcParams['text.usetex'] = True

url="https://api.weather.gov/points/39.7456,-97.0892"

reqPoints = requests.get(url)
txtPoints = reqPoints.text
dicPoints=json.loads(txtPoints)
print("reqPoints:",reqPoints)
print("txtPoints:",txtPoints)
urlFCH=dicPoints["properties"]["forecastHourly"]
print(urlFCH)

reqFCH = requests.get(urlFCH)
txtFCH = reqFCH.text
dicFCH=json.loads(txtFCH)
print(dicFCH["properties"]["periods"][-1])
lstPer=dicFCH["properties"]["periods"]
keysPer=lstPer[0].keys()

arrPerDat=[ [floatify(a[k]) for k in keysPer] for a in lstPer ]
#perarr=np.array(arrPerDat)
print("arrPerDat:",arrPerDat[0])
#print("perarr:",perarr)
i=0
for k in keysPer:
    print("lstPer[i][",k,"]:\n    ",lstPer[i][k])

xdat=[a[0] for a in arrPerDat]
for k in range(len(keysPer)):
    ydat=[a[k] for a in arrPerDat]    #;print(ydat)
    if(sum(ydat)>0.0):
        fig, ax = plt.subplots(figsize=(20, 10), tight_layout=True)
        #ax.plot(arrPerDat[:,0],arrPerDat[:,k])
        ax.plot(xdat,ydat)
        #ax.plot(perarr[:,k])
        plt.show()

quit()


#ax.set_xlabel(r'\textbf{time (s)}')
#ax.set_ylabel('\\textit{Velocity (\N{DEGREE SIGN}/sec)}', fontsize=16)
#ax.set_title(r'\TeX\ is Number $\displaystyle\sum_{n=1}^\infty' r'\frac{-e^{i\pi}}{2^n}$!', fontsize=16, color='r')
