mightyscape-1.2/extensions/fablabchemnitz/raytracing/desc_parser.py

21 lines
506 B
Python
Raw Normal View History

2022-10-13 00:05:56 +02:00
import re
rgx_float = r"[-+]?(\d+([.,]\d*)?|[.,]\d+)([eE][-+]?\d+)?"
rgx_name = "[a-z,_]*"
optics_pattern = re.compile(
f"optics *: *(?P<material>{rgx_name})(: *(?P<num>{rgx_float}))?",
re.IGNORECASE | re.MULTILINE,
)
def get_optics_fields(string_: str):
fields = re.finditer(optics_pattern, string_)
return fields
def clear_description(desc: str) -> str:
"""Removes text corresponding to an optical property"""
new_desc = re.sub(optics_pattern, "", desc)
return new_desc