def credentials_blob_updated(sp_session, data): if not spotify._session_instance: return data = ffi.string(data) logger.debug('Credentials blob updated: %r', data) spotify._session_instance.emit(SessionEvent.CREDENTIALS_BLOB_UPDATED, spotify._session_instance, data)
def to_bytes_or_none(value): """Converts C char arrays to bytes and C NULL values to None.""" if value == ffi.NULL: return None elif isinstance(value, ffi.CData): return ffi.string(value) else: raise ValueError('Value must be char[] or NULL')
def credentials_blob_updated(sp_session, data): if not spotify._session_instance: return data = ffi.string(data) logger.debug('Credentials blob updated: %r', data) spotify._session_instance.emit( SessionEvent.CREDENTIALS_BLOB_UPDATED, spotify._session_instance, data)
def to_unicode_or_none(value): """Converts C char arrays to unicode and C NULL values to None. C char arrays are decoded from UTF-8. """ if value == ffi.NULL: return None elif isinstance(value, ffi.CData): return ffi.string(value).decode('utf-8') else: raise ValueError('Value must be char[] or NULL')
def to_unicode(value): """Converts bytes, unicode, and C char arrays to unicode strings. Bytes and C char arrays are decoded from UTF-8. """ if isinstance(value, ffi.CData): return ffi.string(value).decode('utf-8') elif isinstance(value, binary_type): return value.decode('utf-8') elif isinstance(value, text_type): return value else: raise ValueError('Value must be text, bytes, or char[]')
def to_bytes(value): """Converts bytes, unicode, and C char arrays to bytes. Unicode strings are encoded to UTF-8. """ if isinstance(value, text_type): return value.encode('utf-8') elif isinstance(value, ffi.CData): return ffi.string(value) elif isinstance(value, binary_type): return value else: raise ValueError('Value must be text, bytes, or char[]')