示例#1
0
    def test_convert_string(self, axconverter):
        from CoreFoundation import CFStringCreateWithCString, kCFStringEncodingASCII

        sut = CFStringCreateWithCString(None, b"hello", kCFStringEncodingASCII)
        result = axconverter.convert_value(sut)
        assert isinstance(result, str)
        assert result == "hello"

        sut = CFStringCreateWithCString(None, b"world", kCFStringEncodingASCII)
        result = axconverter.convert_value(sut)
        assert isinstance(result, str)
        assert result == "world"
示例#2
0
def StrToCFString(string):
  """Creates a CFString from a Python string.

  Inspired by Michael Lynn's power management wrapper:
  https://github.com/pudquick/pypmset/blob/master/pypmset.py

  Args:
    string: str, a regular Python string
  Returns:
    CFStringRef for CreatePowerAssertion()
  Raises:
    MissingImportsError: if CFStringCreateWithCString is missing
  """
  if CFStringCreateWithCString and kCFStringEncodingASCII:
    return objc.pyobjc_id(CFStringCreateWithCString(
        None, string, kCFStringEncodingASCII).nsstring())
  else:
    raise MissingImportsError(
        'CFStringCreateWithCString or kCFStringEncodingASCII '
        'not imported successfully.')
示例#3
0
def _CFSTR(py_string):
    return CFStringCreateWithCString(None, py_string, kCFStringEncodingASCII)
示例#4
0
def _CFSTR(py_string):
    """Returns a CFString given a Python string."""
    return CFStringCreateWithCString(None, py_string, kCFStringEncodingASCII)
示例#5
0
def CFSTR(py_string: bytes):
    """Converts a Python byte string into an Objective C string, using ASCII
    encoding.
    """
    return CFStringCreateWithCString(None, py_string, kCFStringEncodingASCII)