֦iQ @ d Z ddlZdgZ ej d Zd Zy)z%
Generic framework path manipulation
Nframework_infoz(?x)
(?P^.*)(?:^|/)
(?P
(?P\w+).framework/
(?:Versions/(?P[^/]+)/)?
(?P=shortname)
(?:_(?P[^_]+))?
)$
c R t j | }|sy|j S )a}
A framework name can take one of the following four forms:
Location/Name.framework/Versions/SomeVersion/Name_Suffix
Location/Name.framework/Versions/SomeVersion/Name
Location/Name.framework/Name_Suffix
Location/Name.framework/Name
returns None if not found, or a mapping equivalent to:
dict(
location='Location',
name='Name.framework/Versions/SomeVersion/Name_Suffix',
shortname='Name',
version='SomeVersion',
suffix='Suffix',
)
Note that SomeVersion and Suffix are optional and may be None
if not present
N)STRICT_FRAMEWORK_REmatch groupdict)filenameis_frameworks 2/usr/lib64/python3.12/ctypes/macholib/framework.pyr r s) ( ',,X6L!!## )__doc__re__all__compiler r r r
r s2
bjj " $r