PHP 8.0.30
Preview: framework.py Size: 1.08 KB
/lib64/python3.12/ctypes/macholib/framework.py

"""
Generic framework path manipulation
"""

import re

__all__ = ['framework_info']

STRICT_FRAMEWORK_RE = re.compile(r"""(?x)
(?P<location>^.*)(?:^|/)
(?P<name>
    (?P<shortname>\w+).framework/
    (?:Versions/(?P<version>[^/]+)/)?
    (?P=shortname)
    (?:_(?P<suffix>[^_]+))?
)$
""")

def framework_info(filename):
    """
    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
    """
    is_framework = STRICT_FRAMEWORK_RE.match(filename)
    if not is_framework:
        return None
    return is_framework.groupdict()

Directory Contents

Dirs: 1 × Files: 6

Name Size Perms Modified Actions
- drwxr-xr-x 2026-07-17 02:18:14
Edit Download
4.91 KB lrw-r--r-- 2026-03-03 12:39:30
Edit Download
960 B lrw-r--r-- 2026-03-03 12:39:30
Edit Download
84 B lrwxr-xr-x 2026-03-03 12:39:30
Edit Download
1.08 KB lrw-r--r-- 2026-03-03 12:39:30
Edit Download
296 B lrw-r--r-- 2026-03-03 12:39:30
Edit Download
154 B lrw-r--r-- 2026-03-03 12:39:30
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).