From 764b6479ed0d4e87fc20d447ad170a59b3f7534f Mon Sep 17 00:00:00 2001 From: Godopu Date: Thu, 30 Jul 2026 22:58:28 +0900 Subject: [PATCH] fix: assign Professor degree to Seok-Joo Koh to remove from M.S. Course list --- refer_landing_page/content/members.ts | 6 +-- .../scripts/extract/generate_all.py | 47 ++++++++++--------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/refer_landing_page/content/members.ts b/refer_landing_page/content/members.ts index eac9eb6..b859730 100644 --- a/refer_landing_page/content/members.ts +++ b/refer_landing_page/content/members.ts @@ -3,9 +3,9 @@ import { Member, Alumnus } from "./types"; export const activeMembers: Member[] = [ { - "ko": "Seok-Joo Koh (고석주, Professor): &", - "en": "Seok-Joo Koh (고석주, Professor): &", - "degree": "MSStudent" + "ko": "고석주", + "en": "Seok-Joo Koh", + "degree": "Professor" }, { "ko": "최동규", diff --git a/refer_landing_page/scripts/extract/generate_all.py b/refer_landing_page/scripts/extract/generate_all.py index 3dbfa6b..5307c81 100644 --- a/refer_landing_page/scripts/extract/generate_all.py +++ b/refer_landing_page/scripts/extract/generate_all.py @@ -116,30 +116,35 @@ def parse_members(): clean_item = re.sub(r'.*?', '', item, flags=re.I) clean_item = re.sub(r'<.*?>', '', clean_item) clean_item = clean_item.strip().replace('\n', ' ') - if not clean_item: - continue - - m = re.search(r'^(.*?)\s*\((.*?),\s*(.*?)\)(?:\s*with\s*(.*))?$', clean_item) - if m: - en = m.group(1).strip() - ko = m.group(2).strip() - deg_str = m.group(3).strip() - aff = m.group(4).strip() if m.group(4) else None + clean_item = re.sub(r'[:&\s]+$', '', clean_item) + if "Seok-Joo Koh" in clean_item or "고석주" in clean_item or "Professor" in clean_item: + en = "Seok-Joo Koh" + ko = "고석주" + degree = "Professor" + aff = None else: - # Case like Hoang Anh Dang (M. S. Student) - m2 = re.search(r'^(.*?)\s*\((.*?)\)(?:\s*with\s*(.*))?$', clean_item) - if m2: - en = m2.group(1).strip() - ko = en - deg_str = m2.group(2).strip() - aff = m2.group(3).strip() if m2.group(3) else None + m = re.search(r'^(.*?)\s*\((.*?),\s*(.*?)\)(?:\s*with\s*(.*))?$', clean_item) + if m: + en = m.group(1).strip() + ko = m.group(2).strip() + deg_str = m.group(3).strip() + aff = m.group(4).strip() if m.group(4) else None else: - en = clean_item - ko = clean_item - deg_str = "MSStudent" - aff = None + # Case like Hoang Anh Dang (M. S. Student) + m2 = re.search(r'^(.*?)\s*\((.*?)\)(?:\s*with\s*(.*))?$', clean_item) + if m2: + en = m2.group(1).strip() + ko = en + deg_str = m2.group(2).strip() + aff = m2.group(3).strip() if m2.group(3) else None + else: + en = clean_item + ko = clean_item + deg_str = "MSStudent" + aff = None + + degree = degree_map.get(deg_str, "MSStudent") - degree = degree_map.get(deg_str, "MSStudent") mem = {"ko": ko, "en": en, "degree": degree} if aff: mem["affiliation"] = aff