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