晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/self/root/opt/alt/python313/lib64/python3.13/
Upload File :
Current File : //proc/self/root/opt/alt/python313/lib64/python3.13/_ios_support.py
import sys
try:
    from ctypes import cdll, c_void_p, c_char_p, util
except ImportError:
    # ctypes is an optional module. If it's not present, we're limited in what
    # we can tell about the system, but we don't want to prevent the module
    # from working.
    print("ctypes isn't available; iOS system calls will not be available", file=sys.stderr)
    objc = None
else:
    # ctypes is available. Load the ObjC library, and wrap the objc_getClass,
    # sel_registerName methods
    lib = util.find_library("objc")
    if lib is None:
        # Failed to load the objc library
        raise ImportError("ObjC runtime library couldn't be loaded")

    objc = cdll.LoadLibrary(lib)
    objc.objc_getClass.restype = c_void_p
    objc.objc_getClass.argtypes = [c_char_p]
    objc.sel_registerName.restype = c_void_p
    objc.sel_registerName.argtypes = [c_char_p]


def get_platform_ios():
    # Determine if this is a simulator using the multiarch value
    is_simulator = sys.implementation._multiarch.endswith("simulator")

    # We can't use ctypes; abort
    if not objc:
        return None

    # Most of the methods return ObjC objects
    objc.objc_msgSend.restype = c_void_p
    # All the methods used have no arguments.
    objc.objc_msgSend.argtypes = [c_void_p, c_void_p]

    # Equivalent of:
    #   device = [UIDevice currentDevice]
    UIDevice = objc.objc_getClass(b"UIDevice")
    SEL_currentDevice = objc.sel_registerName(b"currentDevice")
    device = objc.objc_msgSend(UIDevice, SEL_currentDevice)

    # Equivalent of:
    #   device_systemVersion = [device systemVersion]
    SEL_systemVersion = objc.sel_registerName(b"systemVersion")
    device_systemVersion = objc.objc_msgSend(device, SEL_systemVersion)

    # Equivalent of:
    #   device_systemName = [device systemName]
    SEL_systemName = objc.sel_registerName(b"systemName")
    device_systemName = objc.objc_msgSend(device, SEL_systemName)

    # Equivalent of:
    #   device_model = [device model]
    SEL_model = objc.sel_registerName(b"model")
    device_model = objc.objc_msgSend(device, SEL_model)

    # UTF8String returns a const char*;
    SEL_UTF8String = objc.sel_registerName(b"UTF8String")
    objc.objc_msgSend.restype = c_char_p

    # Equivalent of:
    #   system = [device_systemName UTF8String]
    #   release = [device_systemVersion UTF8String]
    #   model = [device_model UTF8String]
    system = objc.objc_msgSend(device_systemName, SEL_UTF8String).decode()
    release = objc.objc_msgSend(device_systemVersion, SEL_UTF8String).decode()
    model = objc.objc_msgSend(device_model, SEL_UTF8String).decode()

    return system, release, model, is_simulator