SILENT KILLERPanel

Current Path: > > > usr > lib64 > python2.7 > ctypes > macholib >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: ///usr/lib64/python2.7/ctypes/macholib/

NameTypeSizeLast ModifiedActions
README.ctypes File 296 bytes April 10 2024 04:58:35.
__init__.py File 154 bytes April 10 2024 04:58:35.
__init__.pyc File 316 bytes April 10 2024 04:58:46.
__init__.pyo File 316 bytes April 10 2024 04:58:46.
dyld.py File 5128 bytes April 10 2024 04:58:35.
dyld.pyc File 5787 bytes April 10 2024 04:58:46.
dyld.pyo File 5581 bytes April 10 2024 04:58:43.
dylib.py File 1828 bytes April 10 2024 04:58:35.
dylib.pyc File 2315 bytes April 10 2024 04:58:46.
dylib.pyo File 1733 bytes April 10 2024 04:58:43.
fetch_macholib File 84 bytes April 10 2024 04:58:35.
framework.py File 2201 bytes April 10 2024 04:58:35.
framework.pyc File 2625 bytes April 10 2024 04:58:46.
framework.pyo File 1875 bytes April 10 2024 04:58:43.

Reading File: ///usr/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()

SILENT KILLER Tool