# Copyright (c) 2012 CEF Python, see the Authors file.# All rights reserved. Licensed under BSD 3-clause license.# Project website: https://github.com/cztomczak/cefpythoninclude "cefpython.pyx"include "string_utils.pyx"# noinspection PyUnresolvedReferencescimport cef_typesTID_UI = cef_types.TID_UITID_FILE_BACKGROUND = cef_types.TID_FILE_BACKGROUNDTID_FILE = cef_types.TID_FILETID_FILE_USER_VISIBLE = cef_types.TID_FILE_USER_VISIBLETID_FILE_USER_BLOCKING = cef_types.TID_FILE_USER_BLOCKINGTID_IO = cef_types.TID_IOTID_RENDERER = cef_types.TID_RENDERERg_browserProcessThreads = [TID_UI,TID_FILE_BACKGROUND,TID_FILE,TID_FILE_USER_VISIBLE,TID_FILE_USER_BLOCKING,TID_IO,]cpdef py_bool IsString(object maybeString):# In Python 2.7 string types are: 1) str/bytes 2) unicode.# In Python 3 string types are: 1) bytes 2) strif type(maybeString) == bytes or type(maybeString) == str \or (PY_MAJOR_VERSION < 3 and type(maybeString) == unicode):return Truereturn Falsecpdef py_bool IsThread(int threadID):return bool(CefCurrentlyOn(<CefThreadId>threadID))# TODO: this function needs to accept unicode strings, use the# logic from wxpython.py/ExceptHook to handle printing# unicode strings and writing them to file (codecs.open).# This change is required to work with Cython 0.20.cpdef object Debug(py_string msg):"""Print debug message. Will be shown only when settings.debug=True."""# In Python 3 str or bytes may be passedif type(msg) != str and type(msg) == bytes:msg = msg.decode("utf-8", "replace")# Convert to str in case other kind of object was passedmsg = str(msg)msg = "[Browser process] " + msg# CEF logging is initialized only after CEF was initialized.# Otherwise the default is LOGSEVERITY_INFO and log_file is# none.if g_cef_initialized or g_debug:cef_log_info(PyStringToChar(msg))cdef void NonCriticalError(py_string msg) except *:"""Notify about error gently. Does not terminate application."""# In Python 3 str or bytes may be passedif type(msg) != str and type(msg) == bytes:msg = msg.decode("utf-8", "replace")# Convert to str in case other kind of object was passedmsg = str(msg)msg = "[Browser process] " + msgcef_log_error(PyStringToChar(msg))cpdef str GetSystemError():IF UNAME_SYSNAME == "Windows":cdef DWORD errorCode = GetLastError()return "Error Code = %d" % errorCodeELSE:return ""cpdef py_bool IsFunctionOrMethod(object valueType):if (valueType == types.FunctionTypeor valueType == types.MethodTypeor valueType == types.BuiltinFunctionTypeor valueType == types.BuiltinMethodTypeor valueType.__name__ == "cython_function_or_method"):return Truereturn False
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。