"""Pinyin utility functions for Chinese name search.""" from pypinyin import Style, lazy_pinyin def to_pinyin(name: str | None) -> str: """Convert Chinese name to full pinyin string, e.g. '张三' -> 'zhangsan'.""" if not name: return "" return "".join(lazy_pinyin(name, style=Style.NORMAL)).lower() def to_pinyin_abbr(name: str | None) -> str: """Convert Chinese name to pinyin abbreviation, e.g. '张三' -> 'zs'.""" if not name: return "" return "".join(lazy_pinyin(name, style=Style.FIRST_LETTER)).lower()