JUNGU commited on
Commit
28c3672
ยท
verified ยท
1 Parent(s): 621cddc

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +15 -6
src/streamlit_app.py CHANGED
@@ -8,29 +8,38 @@ import platform
8
  import os
9
  import matplotlib.font_manager as fm # [์ˆ˜์ • 1] ๋ˆ„๋ฝ๋˜์—ˆ๋˜ ํฐํŠธ ๊ด€๋ฆฌ์ž ๋ชจ๋“ˆ import
10
 
11
- # --- ํ•œ๊ธ€ ํฐํŠธ ์„ค์ • ํ•จ์ˆ˜ ---
 
12
  def set_korean_font():
13
  """
14
- Hugging Face Space์— ํฌํ•จ๋œ ํฐํŠธ ํŒŒ์ผ์„ ์ง์ ‘ ์ง€์ •ํ•˜์—ฌ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
15
  """
16
- font_path = 'NanumGaRamYeonGgoc.ttf' # ์Šคํฌ๋ฆฐ์ƒท ๊ธฐ์ค€ ํŒŒ์ผ ์ด๋ฆ„
 
 
 
 
 
 
 
17
 
 
18
  if os.path.exists(font_path):
19
  font_prop = fm.FontProperties(fname=font_path)
20
  plt.rc('font', family=font_prop.get_name())
21
  try:
22
- # st.sidebar๊ฐ€ ๋จผ์ € ๋ Œ๋”๋ง๋˜๋ฏ€๋กœ, ์—ฌ๊ธฐ์— ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.
23
  st.sidebar.success(f"'{font_prop.get_name()}' ํฐํŠธ ๋กœ๋”ฉ ์„ฑ๊ณต!")
24
  except Exception:
25
  pass
26
  else:
27
  try:
28
- st.sidebar.warning(f"ํฐํŠธ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: '{font_path}'. ํ•œ๊ธ€์ด ๊นจ์ ธ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.")
 
29
  except Exception:
30
  pass
31
 
32
  plt.rcParams['axes.unicode_minus'] = False
33
-
34
  # --- ์ ์ˆ˜ ๋ถ„์„ ํ•จ์ˆ˜ ---
35
  def analyze_scores(df):
36
  """๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๋ฐ›์•„ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜"""
 
8
  import os
9
  import matplotlib.font_manager as fm # [์ˆ˜์ • 1] ๋ˆ„๋ฝ๋˜์—ˆ๋˜ ํฐํŠธ ๊ด€๋ฆฌ์ž ๋ชจ๋“ˆ import
10
 
11
+ # --- set_korean_font ํ•จ์ˆ˜๋ฅผ ์•„๋ž˜ ์ฝ”๋“œ๋กœ ๊ต์ฒดํ•ด์ฃผ์„ธ์š” ---
12
+
13
  def set_korean_font():
14
  """
15
+ Hugging Face Space์— ํฌํ•จ๋œ ํฐํŠธ ํŒŒ์ผ์„ ๋” ์•ˆ์ •์ ์ธ ์ ˆ๋Œ€ ๊ฒฝ๋กœ ๋ฐฉ์‹์œผ๋กœ ์ฐพ์•„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
16
  """
17
+ # 1. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์Šคํฌ๋ฆฝํŠธ(app.py)์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
18
+ script_dir = os.path.dirname(os.path.abspath(__file__))
19
+
20
+ # 2. ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ํฐํŠธ ํŒŒ์ผ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
21
+ font_filename = "NanumGaRamYeonGgoc.ttf"
22
+
23
+ # 3. ์Šคํฌ๋ฆฝํŠธ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํฐํŠธ ํŒŒ์ผ ์ด๋ฆ„์„ ํ•ฉ์ณ ์ „์ฒด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
24
+ font_path = os.path.join(script_dir, font_filename)
25
 
26
+ # 4. ํ•ด๋‹น ๊ฒฝ๋กœ์— ํŒŒ์ผ์ด ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
27
  if os.path.exists(font_path):
28
  font_prop = fm.FontProperties(fname=font_path)
29
  plt.rc('font', family=font_prop.get_name())
30
  try:
 
31
  st.sidebar.success(f"'{font_prop.get_name()}' ํฐํŠธ ๋กœ๋”ฉ ์„ฑ๊ณต!")
32
  except Exception:
33
  pass
34
  else:
35
  try:
36
+ # ํฐํŠธ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์„ ๊ฒฝ์šฐ, ์–ด๋–ค ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ–ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์–ด ๋””๋ฒ„๊น…์„ ๋•์Šต๋‹ˆ๋‹ค.
37
+ st.sidebar.warning(f"ํฐํŠธ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ™•์ธํ•œ ๊ฒฝ๋กœ: {font_path}")
38
  except Exception:
39
  pass
40
 
41
  plt.rcParams['axes.unicode_minus'] = False
42
+
43
  # --- ์ ์ˆ˜ ๋ถ„์„ ํ•จ์ˆ˜ ---
44
  def analyze_scores(df):
45
  """๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๋ฐ›์•„ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜"""