Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -221,7 +221,35 @@ def check_api_status():
|
|
221 |
return True
|
222 |
return False
|
223 |
except:
|
224 |
-
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
|
226 |
@st.cache_data(ttl=300)
|
227 |
def get_weather_data():
|
@@ -313,6 +341,34 @@ def format_news_message(news_list):
|
|
313 |
|
314 |
return ' | '.join(current_warnings)
|
315 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
def show_weather_info(data):
|
317 |
st.markdown('<div class="section-container">', unsafe_allow_html=True)
|
318 |
|
@@ -976,17 +1032,51 @@ def main():
|
|
976 |
|
977 |
data = st.session_state.weather_data
|
978 |
if data:
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
st.markdown(f"""
|
983 |
<style>
|
984 |
.stApp {{
|
985 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
986 |
}}
|
987 |
</style>
|
|
|
|
|
|
|
|
|
988 |
""", unsafe_allow_html=True)
|
989 |
|
|
|
|
|
990 |
if st.session_state.current_section == 'weather':
|
991 |
show_weather_info(data)
|
992 |
else:
|
|
|
221 |
return True
|
222 |
return False
|
223 |
except:
|
224 |
+
return False
|
225 |
+
|
226 |
+
def get_background_color_pm25(pm25_value):
|
227 |
+
try:
|
228 |
+
pm25 = float(pm25_value)
|
229 |
+
if pm25 <= 15:
|
230 |
+
return "#87CEEB" # νλ (μ’μ)
|
231 |
+
elif pm25 <= 35:
|
232 |
+
return "#90EE90" # μ΄λ‘ (보ν΅)
|
233 |
+
elif pm25 <= 75:
|
234 |
+
return "#FFD700" # λ
Έλ (λμ¨)
|
235 |
+
else:
|
236 |
+
return "#FF6B6B" # λΉ¨κ° (맀μ°λμ¨)
|
237 |
+
except:
|
238 |
+
return "#FFFFFF"
|
239 |
+
|
240 |
+
def get_background_color_pm10(pm10_value):
|
241 |
+
try:
|
242 |
+
pm10 = float(pm10_value)
|
243 |
+
if pm10 <= 30:
|
244 |
+
return "#87CEEB" # νλ (μ’μ)
|
245 |
+
elif pm10 <= 80:
|
246 |
+
return "#90EE90" # μ΄λ‘ (보ν΅)
|
247 |
+
elif pm10 <= 150:
|
248 |
+
return "#FFD700" # λ
Έλ (λμ¨)
|
249 |
+
else:
|
250 |
+
return "#FF6B6B" # λΉ¨κ° (맀μ°λμ¨)
|
251 |
+
except:
|
252 |
+
return "#FFFFFF"
|
253 |
|
254 |
@st.cache_data(ttl=300)
|
255 |
def get_weather_data():
|
|
|
341 |
|
342 |
return ' | '.join(current_warnings)
|
343 |
|
344 |
+
def get_background_color_pm25(pm25_value):
|
345 |
+
try:
|
346 |
+
pm25 = float(pm25_value)
|
347 |
+
if pm25 <= 15:
|
348 |
+
return "#87CEEB" # νλ (μ’μ)
|
349 |
+
elif pm25 <= 35:
|
350 |
+
return "#90EE90" # μ΄λ‘ (보ν΅)
|
351 |
+
elif pm25 <= 75:
|
352 |
+
return "#FFD700" # λ
Έλ (λμ¨)
|
353 |
+
else:
|
354 |
+
return "#FF6B6B" # λΉ¨κ° (맀μ°λμ¨)
|
355 |
+
except:
|
356 |
+
return "#FFFFFF"
|
357 |
+
|
358 |
+
def get_background_color_pm10(pm10_value):
|
359 |
+
try:
|
360 |
+
pm10 = float(pm10_value)
|
361 |
+
if pm10 <= 30:
|
362 |
+
return "#87CEEB" # νλ (μ’μ)
|
363 |
+
elif pm10 <= 80:
|
364 |
+
return "#90EE90" # μ΄λ‘ (보ν΅)
|
365 |
+
elif pm10 <= 150:
|
366 |
+
return "#FFD700" # λ
Έλ (λμ¨)
|
367 |
+
else:
|
368 |
+
return "#FF6B6B" # λΉ¨κ° (맀μ°λμ¨)
|
369 |
+
except:
|
370 |
+
return "#FFFFFF"
|
371 |
+
|
372 |
def show_weather_info(data):
|
373 |
st.markdown('<div class="section-container">', unsafe_allow_html=True)
|
374 |
|
|
|
1032 |
|
1033 |
data = st.session_state.weather_data
|
1034 |
if data:
|
1035 |
+
pm25_color = get_background_color_pm25(data['PM25'])
|
1036 |
+
pm10_color = get_background_color_pm10(data['PM10'])
|
1037 |
+
|
1038 |
st.markdown(f"""
|
1039 |
<style>
|
1040 |
.stApp {{
|
1041 |
+
position: relative;
|
1042 |
+
}}
|
1043 |
+
.background-overlay {{
|
1044 |
+
content: '';
|
1045 |
+
position: fixed;
|
1046 |
+
top: 0;
|
1047 |
+
left: 0;
|
1048 |
+
width: 100%;
|
1049 |
+
height: 100%;
|
1050 |
+
pointer-events: none;
|
1051 |
+
z-index: -1;
|
1052 |
+
}}
|
1053 |
+
.background-left {{
|
1054 |
+
position: absolute;
|
1055 |
+
left: 0;
|
1056 |
+
width: 50%;
|
1057 |
+
height: 100%;
|
1058 |
+
background-color: {pm25_color};
|
1059 |
+
}}
|
1060 |
+
.background-right {{
|
1061 |
+
position: absolute;
|
1062 |
+
right: 0;
|
1063 |
+
width: 50%;
|
1064 |
+
height: 100%;
|
1065 |
+
background-color: {pm10_color};
|
1066 |
+
}}
|
1067 |
+
.stApp > * {{
|
1068 |
+
position: relative;
|
1069 |
+
z-index: 1;
|
1070 |
}}
|
1071 |
</style>
|
1072 |
+
<div class="background-overlay">
|
1073 |
+
<div class="background-left"></div>
|
1074 |
+
<div class="background-right"></div>
|
1075 |
+
</div>
|
1076 |
""", unsafe_allow_html=True)
|
1077 |
|
1078 |
+
|
1079 |
+
|
1080 |
if st.session_state.current_section == 'weather':
|
1081 |
show_weather_info(data)
|
1082 |
else:
|