|
14 | 14 | # limitations under the License.
|
15 | 15 | #
|
16 | 16 |
|
17 |
| -from ctypes import CFUNCTYPE, c_char_p, c_int32, c_uint8, c_uint16, c_uint32 |
| 17 | +from ctypes import CFUNCTYPE, c_char_p, c_uint8, c_uint16, c_uint32 |
18 | 18 | from typing import Optional
|
19 | 19 |
|
20 |
| -from chip.exceptions import ChipStackError |
21 |
| -from chip.native import GetLibraryHandle, NativeLibraryHandleMethodArguments |
| 20 | +from chip.native import GetLibraryHandle, NativeLibraryHandleMethodArguments, PyChipError |
22 | 21 |
|
23 | 22 |
|
24 | 23 | class SetupPayload:
|
@@ -46,34 +45,25 @@ def AddVendorAttribute(tag, value):
|
46 | 45 |
|
47 | 46 | def ParseQrCode(self, qrCode: str):
|
48 | 47 | self.Clear()
|
49 |
| - err = self.chipLib.pychip_SetupPayload_ParseQrCode(qrCode.upper().encode(), |
50 |
| - self.attribute_visitor, |
51 |
| - self.vendor_attribute_visitor) |
52 |
| - |
53 |
| - if err != 0: |
54 |
| - raise ChipStackError(err) |
| 48 | + self.chipLib.pychip_SetupPayload_ParseQrCode(qrCode.upper().encode(), |
| 49 | + self.attribute_visitor, |
| 50 | + self.vendor_attribute_visitor).raise_on_error() |
55 | 51 |
|
56 | 52 | return self
|
57 | 53 |
|
58 | 54 | def ParseManualPairingCode(self, manualPairingCode: str):
|
59 | 55 | self.Clear()
|
60 |
| - err = self.chipLib.pychip_SetupPayload_ParseManualPairingCode(manualPairingCode.encode(), |
61 |
| - self.attribute_visitor, |
62 |
| - self.vendor_attribute_visitor) |
63 |
| - |
64 |
| - if err != 0: |
65 |
| - raise ChipStackError(err) |
| 56 | + self.chipLib.pychip_SetupPayload_ParseManualPairingCode(manualPairingCode.encode(), |
| 57 | + self.attribute_visitor, |
| 58 | + self.vendor_attribute_visitor).raise_on_error() |
66 | 59 |
|
67 | 60 | return self
|
68 | 61 |
|
69 | 62 | # DEPRECATED
|
70 | 63 | def PrintOnboardingCodes(self, passcode, vendorId, productId, discriminator, customFlow, capabilities, version):
|
71 | 64 | self.Clear()
|
72 |
| - err = self.chipLib.pychip_SetupPayload_PrintOnboardingCodes( |
73 |
| - passcode, vendorId, productId, discriminator, customFlow, capabilities, version) |
74 |
| - |
75 |
| - if err != 0: |
76 |
| - raise ChipStackError(err) |
| 65 | + self.chipLib.pychip_SetupPayload_PrintOnboardingCodes( |
| 66 | + passcode, vendorId, productId, discriminator, customFlow, capabilities, version).raise_on_error() |
77 | 67 |
|
78 | 68 | # DEPRECATED
|
79 | 69 | def Print(self):
|
@@ -106,17 +96,17 @@ def __DecorateValue(self, name, value):
|
106 | 96 | return None
|
107 | 97 |
|
108 | 98 | def __InitNativeFunctions(self, chipLib):
|
109 |
| - if chipLib.pychip_SetupPayload_ParseQrCode is not None: |
| 99 | + if chipLib.pychip_SetupPayload_ParseQrCode.argtypes is not None: |
110 | 100 | return
|
111 | 101 | setter = NativeLibraryHandleMethodArguments(chipLib)
|
112 | 102 | setter.Set("pychip_SetupPayload_ParseQrCode",
|
113 |
| - c_int32, |
| 103 | + PyChipError, |
114 | 104 | [c_char_p, SetupPayload.AttributeVisitor, SetupPayload.VendorAttributeVisitor])
|
115 | 105 | setter.Set("pychip_SetupPayload_ParseManualPairingCode",
|
116 |
| - c_int32, |
| 106 | + PyChipError, |
117 | 107 | [c_char_p, SetupPayload.AttributeVisitor, SetupPayload.VendorAttributeVisitor])
|
118 | 108 | setter.Set("pychip_SetupPayload_PrintOnboardingCodes",
|
119 |
| - c_int32, |
| 109 | + PyChipError, |
120 | 110 | [c_uint32, c_uint16, c_uint16, c_uint16, c_uint8, c_uint8, c_uint8])
|
121 | 111 |
|
122 | 112 | # Getters from parsed contents.
|
|
0 commit comments