ž
¬ÿf™ c @ s\ d Z d d l Z d g Z e j d ƒ Z d d „ Z d d „ Z e d k rX e ƒ n d S( u%
Generic framework path manipulation
i Nu framework_infou¢ (?x)
(?P^.*)(?:^|/)
(?P
(?P\w+).framework/
(?:Versions/(?P[^/]+)/)?
(?P=shortname)
(?:_(?P[^_]+))?
)$
c C s# t j | ƒ } | s d S| j ƒ S( u}
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( u STRICT_FRAMEWORK_REu matchu Noneu groupdict( u filenameu is_framework( ( u> /opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyu framework_info s c C s d d d d d d d „ } d S( Nc S s% t d | d | d | d | d | ƒ S( Nu locationu nameu shortnameu versionu suffix( u dict( u locationu nameu shortnameu versionu suffix( ( u> /opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyu d- s u test_framework_info..d( u None( u d( ( u> /opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyu test_framework_info, s u test_framework_infou __main__( u __doc__u reu __all__u compileu STRICT_FRAMEWORK_REu framework_infou test_framework_infou __name__( ( ( u> /opt/alt/python33/lib64/python3.3/ctypes/macholib/framework.pyu s