'
return html_out, None
return None,None
def make_tree(url1="",url2="",url3="",url4=""):
link_box=[]
html_out=""
get_url=f'{main_directory}{url1}{url2}{url3}{url4}'
print(f'######### :: {get_url}')
if not get_url.endswith('.json'):
feed1 = requests.get(get_url)
spl = feed1.text.split("href=")
for line in spl:
spl2 = line.split(">")[0]
print(spl2)
if spl2.endswith('/"') or spl2.endswith('.json"') or spl2.endswith('.png"') or spl2.endswith('.gif"') or spl2.endswith('.jpg"'):
fin=line.split(">")[0].strip('""')
link_box.append(fin)
#html_out=html_out+html.replace("PAGE_LINK",fin)
return gr.update(choices=[l for l in link_box],interactive=True)
else:
return None
def get_images():
html_out=f"
"
get_url=f'{main_directory}images/geospace/'
feed1 = requests.get(get_url)
spl = feed1.text.split("href=")
for line in spl:
spl2 = line.split(">")[0].strip('""')
if spl2.endswith(".png") or spl2.endswith(".gif") or spl2.endswith(".jpg"):
print(spl2)
html_out+=f'
'
else:
print(spl2)
get_url2=f'{main_directory}images/'
feed2 = requests.get(get_url2)
spl = feed2.text.split("href=")
for line2 in spl:
spl2 = line2.split(">")[0].strip('""')
if spl2.endswith(".png") or spl2.endswith(".gif") or spl2.endswith(".jpg"):
print(spl2)
html_out+=f'
"
if int(date2[6:8])-int(date1[6:8]) >0:
return ("
Reduce Timespan to 24 hours
")
in_year=f"{date2[0:4]}"
in_month=f"{date2[4:6]}"
in_day=f"{date2[6:8]}"
file_name="DATE_TIME_SIZE_TOOL.jpg"
sdo_source_format = f"https://sdo.gsfc.nasa.gov/assets/img/browse/{in_year}/{in_month}/{in_day}/"
get_url=sdo_source_format
print(get_url)
feed1 = requests.get(get_url)
if "All" in size:
size = sdo_size
if "All" in obj:
obj = sdo_obj
link_box=[]
# Parse the HTML content using BeautifulSoup
soup = bs4.BeautifulSoup(feed1.content, 'html.parser')
#print(soup)
anchor_elements = soup.find_all('a')
for element in anchor_elements:
href=element.get('href')
if href.endswith('.jpg'):
for o in obj:
for s in size:
ls=href.split("_")
print(ls[1][0:4])
print(date1[8:13])
if ls[1][0:4]>=date1[8:13]:
src_obj=ls[3].split('.jpg')[0]
if src_obj == o:
if int(ls[2]) == int(s):
html_in+=f'
"
if int(date2[6:8])-int(date1[6:8]) >0:
return ("
Reduce Timespan to 24 hours
")
in_year=f"{date2[0:4]}"
in_month=f"{date2[4:6]}"
in_day=f"{date2[6:8]}"
file_name="DATE_TIME_SIZE_TOOL.jpg"
sdo_source_format = f"https://sdo.gsfc.nasa.gov/assets/img/browse/{in_year}/{in_month}/{in_day}/"
get_url=sdo_source_format
print(get_url)
feed1 = requests.get(get_url)
if "All" in size:
size = sdo_size
if "All" in obj:
obj = sdo_obj
link_box=[]
soup = bs4.BeautifulSoup(feed1.content, 'html.parser')
anchor_elements = soup.find_all('a')
#anchor_elements.sort()
cnt=1
max_cnt=ret_num
for element in anchor_elements:
href=element.get('href')
if href.endswith('.jpg'):
for o in obj:
for s in size:
ls=href.split("_")
#print(ls[1][0:4])
#print(date1[8:13])
if ls[1][0:4]>=date1[8:13]:
src_obj=ls[3].split('.jpg')[0]
if src_obj == o:
if int(ls[2]) == int(s):
link_box.append(href)
#print(link_box)
#print("$$$$$$$$$$$$$$$$$")
link_box.sort(reverse=True)
#print(link_box)
out_box=[]
for ea in link_box:
if cnt<=max_cnt:
out_link=f'{sdo_source_format}{ea}'
out_box.append(out_link)
cnt+=1
html_in+=f'
"
return html_in, out_box
def run():
out=make_tree()
im_html=get_images()
return out, im_html
def get_date(year1,month1,day1,hour1,minute1,year2,month2,day2,hour2,minute2):
if len(str(month1))<2: m1=0
else: m1=""
if len(str(day1))<2: d1=0
else: d1=""
if len(str(hour1))<2: h1=0
else: h1=""
if len(str(minute1))<2: mi1=0
else: mi1=""
date1=f'{year1}{m1}{month1}{d1}{day1}{h1}{hour1}{mi1}{minute1}'
if len(str(month2))<2: m2=0
else: m2=""
if len(str(day2))<2: d2=0
else: d2=""
if len(str(hour2))<2: h2=0
else: h2=""
if len(str(minute2))<2: mi2=0
else: mi2=""
date2=f'{year2}{m2}{month2}{d2}{day2}{h2}{hour2}{mi2}{minute2}'
print(date1)
print(date2)
return date1,date2
def comp_combine(inp_ims: list,comp_col,comp_row):
#print(inp_ims)
im_box=[]
v_box=[]
rows=comp_row
cols=comp_col
for i,im in enumerate(eval(inp_ims)):
urllib.request.urlretrieve(im, f"tmp-{i}.jpg")
im_box.append(f"tmp-{i}.jpg")
im_cnt=len(im_box)
cnt=1
for rr in range(rows):
print(rr)
col_start=[im_box[cnt-1]]
for cc in range(cols-1):
print(cc)
col_out=get_concat_h_cut(col_start[0],im_box[cnt])
col_start[0]=col_out
cnt+=1
#if cnt>=im_cnt:
# rr=range(rows)
# cc=range(cols)
cnt+=1
v_box.append(col_out)
print(v_box)
v_cnt=1
v_box_cnt=len(v_box)
v_start=[v_box[0]]
for vv in range(v_box_cnt-1):
print(vv)
v_out=get_concat_v_cut(v_start[0],v_box[v_cnt])
v_start[0]=v_out
v_cnt+=1
return v_out
with gr.Blocks() as app:
datetimestamp=str(datetime.datetime.now()).split(".")[0]
datestamp=datetimestamp.replace(" ","-").split("-")
timestamp=datestamp[3].split(":")
gr.HTML(f"""
Current: {datetimestamp} UTC
""")
with gr.Tab("NOAA"):
with gr.Tab("Images"):
html_im=gr.HTML()
with gr.Tab("Animations"):
anim_btn=gr.Button()
anim_out=gr.HTML()
file_out=gr.Files()
with gr.Tab("Raw"):
with gr.Row():
drop1=gr.Dropdown()
drop2=gr.Dropdown()
drop3=gr.Dropdown()
drop4=gr.Dropdown()
load_btn=gr.Button("Load")
html_raw=gr.HTML()
links=gr.JSON()
with gr.Tab("NASA"):
with gr.Tab("SDO Images"):
with gr.Row():
gr.Markdown("