INNER CODE UNIT · Python
is_ascii
renezander030/capcut-cli · scripts/extract-enums.py:48
def is_ascii(s: str) -> bool:
return all(ord(c) < 128 for c in s)
def to_slug(member_name: str) -> str | None:
"""`Dissolve_II` -> `dissolve-ii`. Returns None for non-ASCII identifiers."""
if not is_ascii(member_name):
return None
s = member_name.lstrip("_")
# Collapse CamelCase boundaries so `ZoomIn` -> `zoom-in`; also splits on underscore.
s = re.sub(r"([a-z0-9])([A-Z])", r"\1-\2", s)
s = s.replace("_", "-").lower()
s = re.sub(r"-+", "-", s).strip("-")
return s
def extract_meta(meta_obj) -> dict:
"""Pull public scalar attrs off a meta object."""