Skip to content

Commit 4f93c02

Browse files
authored
Implementing, using new FieldMask class (#39) (#43)
1 parent 30a0caf commit 4f93c02

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

clearblade/cloud/iot_v1/device_types.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"""
4444

4545
from typing import List
46-
from .resources import GatewayType, LogLevel, PublicKeyFormat, PublicKeyCredential, DeviceCredential
46+
from .resources import GatewayType, LogLevel, PublicKeyFormat, PublicKeyCredential, DeviceCredential, FieldMask
4747
from .utils import get_value
4848
import os
4949
from proto.datetime_helpers import DatetimeWithNanoseconds
@@ -591,7 +591,7 @@ def _prepare_params_for_list(self):
591591
if self.device_ids:
592592
params['deviceIds'] = self.device_ids
593593
if self.field_mask:
594-
params['fieldMask'] = self.field_mask
594+
params['fieldMask'] = FieldMask.convert_fieldmask_for_list(self.field_mask)
595595
if self.gateway_list_options :
596596
if 'associationsDeviceId' in self.gateway_list_options:
597597
params['gatewayListOptions.associationsDeviceId'] = self.gateway_list_options['associationsDeviceId']

clearblade/cloud/iot_v1/resources.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,22 @@ def convert_credentials_for_create_update(cls, credentials):
168168
if updateDeviceCredential:
169169
credentials[index] = credential
170170

171-
return credentials
171+
return credentials
172+
173+
class FieldMask():
174+
def __init__(self, paths: [str]):
175+
self.paths = paths
176+
177+
def __getitem__(self, arg):
178+
return getattr(self, arg)
179+
180+
def get(self, arg):
181+
return getattr(self, arg)
182+
183+
@classmethod
184+
def convert_fieldmask_for_list(cls, field_mask):
185+
if (isinstance(field_mask, FieldMask)):
186+
field_mask = field_mask.__dict__
187+
if 'paths' in field_mask:
188+
field_mask = field_mask['paths']
189+
return field_mask

0 commit comments

Comments
 (0)