# GetAllskyWxData.py  2024-02-27

import time, os, urllib.request
from time import strftime

htrURL = "http://192.168.1.215"         # feather web server IP
dataPath = "D:/Astronomy/AllSky/Wx/"    # location to store data files

while True:
    nowDate = strftime("%m/%d/%Y",time.localtime())
    nowTime = strftime("%H:%M:%S",time.localtime())

    with urllib.request.urlopen(htrURL) as f:   # open web page
        lines = f.readlines()                   # read all lines of page
        header = str(lines[2])                  # extract header line
        header = header[header.find('T'):header.find('<')]  # parse it
        header = "Date,Time," + header          # add Date, Time
        data = str(lines[3])                    # extract data line
        data = data[data.find("'")+1:data.find('<')]    # parse it

    # set data csv filename based on date
    dataFile = strftime("%Y%m%d",time.localtime()) + ".csv"
    if not os.path.exists(dataPath+dataFile):   # if data file doesn't exist
        f = open(dataPath+dataFile, 'a')        # create it with header
        f.write(header+'\n')
        f.write(nowDate+","+nowTime+","+data+'\n')
        f.close()
    else:
        f = open(dataPath+dataFile, 'a')        # the data file does exist
        f.write(nowDate+","+nowTime+","+data+'\n')  # so just add new data
        f.close()
    print(nowDate+","+nowTime+","+data)
    time.sleep((5*60)-1)                        # pause for 5 minutes