0iQ > d Z ddlZdgZ ej d Zd ZdS )z%
Generic framework path manipulation
Nframework_infoz(?x)
(?P^.*)(?:^|/)
(?P
(?P\w+).framework/
(?:Versions/(?P[^/]+)/)?
(?P=shortname)
(?:_(?P[^_]+))?
)$
c f t | }|sdS | 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 @/opt/alt/python311/lib64/python3.11/ctypes/macholib/framework.pyr r s6 ( ',,X66L t!!### )__doc__re__all__compiler r r r
r sT
bj " $ $ $ $ $r