$84 GRAYBYTE WORDPRESS FILE MANAGER $56

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/python27/lib64/python2.7/ctypes/macholib/

HOME
Current File : /opt/alt/python27/lib64/python2.7/ctypes/macholib//dylib.py
"""
Generic dylib path manipulation
"""

import re

__all__ = ['dylib_info']

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

def dylib_info(filename):
    """
    A dylib name can take one of the following four forms:
        Location/Name.SomeVersion_Suffix.dylib
        Location/Name.SomeVersion.dylib
        Location/Name_Suffix.dylib
        Location/Name.dylib

    returns None if not found or a mapping equivalent to:
        dict(
            location='Location',
            name='Name.SomeVersion_Suffix.dylib',
            shortname='Name',
            version='SomeVersion',
            suffix='Suffix',
        )

    Note that SomeVersion and Suffix are optional and may be None
    if not present.
    """
    is_dylib = DYLIB_RE.match(filename)
    if not is_dylib:
        return None
    return is_dylib.groupdict()


def test_dylib_info():
    def d(location=None, name=None, shortname=None, version=None, suffix=None):
        return dict(
            location=location,
            name=name,
            shortname=shortname,
            version=version,
            suffix=suffix
        )
    assert dylib_info('completely/invalid') is None
    assert dylib_info('completely/invalide_debug') is None
    assert dylib_info('P/Foo.dylib') == d('P', 'Foo.dylib', 'Foo')
    assert dylib_info('P/Foo_debug.dylib') == d('P', 'Foo_debug.dylib', 'Foo', suffix='debug')
    assert dylib_info('P/Foo.A.dylib') == d('P', 'Foo.A.dylib', 'Foo', 'A')
    assert dylib_info('P/Foo_debug.A.dylib') == d('P', 'Foo_debug.A.dylib', 'Foo_debug', 'A')
    assert dylib_info('P/Foo.A_debug.dylib') == d('P', 'Foo.A_debug.dylib', 'Foo', 'A', 'debug')

if __name__ == '__main__':
    test_dylib_info()


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
24 Jan 2025 9.35 AM
root / linksafe
0755
README.ctypes
0.289 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
__init__.py
0.15 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
__init__.pyc
0.321 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
__init__.pyo
0.321 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dyld.py
5.008 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dyld.pyc
5.854 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dyld.pyo
5.653 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dylib.py
1.785 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dylib.pyc
2.312 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
dylib.pyo
1.743 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
fetch_macholib
0.082 KB
8 Jan 2025 10.43 AM
root / linksafe
0755
framework.py
2.149 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
framework.pyc
2.614 KB
8 Jan 2025 10.43 AM
root / linksafe
0644
framework.pyo
1.882 KB
8 Jan 2025 10.43 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF