def peripheral_didDiscoverCharacteristicsForService_error_(self, peripheral, service, error):
logger.debug('<STR_LIT>')<EOL>if error is not None:<EOL><INDENT>return<EOL><DEDENT>for char in service.characteristics():<EOL><INDENT>if characteristic_list().get(char) is None:<EOL><INDENT>characteristic_list().add(char, CoreBluetoothGattCharacteristic(char))<EOL><DEDENT>peripheral.discoverDescriptorsForCharacteristic_(char)<EOL><DEDENT>device = device_list().get(peripheral)<EOL>if device is not None:<EOL><INDENT>device._characteristics_discovered(service)<EOL><DEDENT>
Called when characteristics are discovered for a service.