From c48d3bdaa4cb5a40f76a9d7b19f99d7ed8634378 Mon Sep 17 00:00:00 2001 From: Vincent Pelletier Date: Thu, 29 Dec 2016 01:40:51 +0100 Subject: [PATCH] get{,ASCII}StringDescriptor: Export str.decode's "error" argument. --- usb1/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/usb1/__init__.py b/usb1/__init__.py index 52b0cfe..b39f59d 100644 --- a/usb1/__init__.py +++ b/usb1/__init__.py @@ -1302,11 +1302,11 @@ def getSupportedLanguageList(self): for offset in xrange(1, cast(descriptor_string, POINTER(c_ubyte))[0] // 2) ] - def getStringDescriptor(self, descriptor, lang_id): + def getStringDescriptor(self, descriptor, lang_id, errors='strict'): """ Fetch description string for given descriptor and in given language. Use getSupportedLanguageList to know which languages are available. - Return value is an unicode string. + Return value is a unicode string. Return None if there is no such descriptor on device. """ descriptor_string, _ = create_binary_buffer(STRING_LENGTH) @@ -1319,13 +1319,13 @@ def getStringDescriptor(self, descriptor, lang_id): except USBErrorNotFound: # pylint: enable=undefined-variable return None - return descriptor_string.value.decode('UTF-16-LE') + return descriptor_string.value.decode('UTF-16-LE', errors=errors) - def getASCIIStringDescriptor(self, descriptor): + def getASCIIStringDescriptor(self, descriptor, errors='strict'): """ Fetch description string for given descriptor in first available language. - Return value is an ASCII string. + Return value is a unicode string. Return None if there is no such descriptor on device. """ descriptor_string, _ = create_binary_buffer(STRING_LENGTH) @@ -1338,7 +1338,7 @@ def getASCIIStringDescriptor(self, descriptor): except USBErrorNotFound: # pylint: enable=undefined-variable return None - return descriptor_string.value.decode('ASCII') + return descriptor_string.value.decode('ASCII', errors=errors) # Sync I/O