Skip to content

Commit 75c054b

Browse files
Refactored Asset.get_parameter_by_id and Asset.get_item_by_id
1 parent 5d42da6 commit 75c054b

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

connect/models/asset.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,11 @@
1515

1616

1717
class Asset(BaseModel):
18-
def get_parameter_by_id(self, id_):
19-
try:
20-
return [a for a in self.params if a.id == id_][0]
21-
except IndexError:
22-
return None
23-
24-
def get_item_by_id(self, id_):
25-
try:
26-
return [a for a in self.items if a.id == id_][0]
27-
except IndexError:
28-
return None
18+
def get_parameter_by_id(self, identity):
19+
return self._get_by_id(self.params, identity)
20+
21+
def get_item_by_id(self, identity):
22+
return self._get_by_id(self.items, identity)
2923

3024

3125
class AssetSchema(BaseSchema):

connect/models/base.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ def __init__(self, *args, **kwargs):
1515
for attr, val in kwargs.items():
1616
setattr(self, attr, val)
1717

18+
@staticmethod
19+
def _get_by_id(objects, identity):
20+
try:
21+
return filter(lambda obj: obj.id == identity, objects)[0]
22+
except IndexError:
23+
return None
24+
1825

1926
class BaseSchema(Schema):
2027
id = fields.Str()

0 commit comments

Comments
 (0)