JAMESPARK3 commited on
Commit
2a6e250
Β·
verified Β·
1 Parent(s): 56124fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +95 -5
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
- pm25_value = data['PM25']
980
- background_color = get_background_color(pm25_value)
981
-
982
  st.markdown(f"""
983
  <style>
984
  .stApp {{
985
- background-color: {background_color};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: