Skip to content

Commit cbc1913

Browse files
Replaced get_item_by_id with get_item_by_mpn
1 parent e38b86d commit cbc1913

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

connect/models/asset.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@
1616

1717
class Asset(BaseModel):
1818
def get_param_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)
19+
try:
20+
return list(filter(lambda param: param.id == identity, self.params))[0]
21+
except IndexError:
22+
return None
23+
24+
def get_item_by_mpn(self, mpn):
25+
try:
26+
return list(filter(lambda item: item.mpn == mpn, self.items))[0]
27+
except IndexError:
28+
return None
2329

2430

2531
class AssetSchema(BaseSchema):

connect/models/base.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,6 @@ 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 list(filter(lambda obj: obj.id == identity, objects))[0]
22-
except IndexError:
23-
return None
24-
2518

2619
class BaseSchema(Schema):
2720
id = fields.Str()

tests/test_models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,6 @@ def test_asset_methods():
128128
assert not asset.get_param_by_id('invalid-id')
129129

130130
# Get item by id
131-
assert isinstance(asset.get_item_by_id('TEAM_ST3L2T1Y'), Item)
132-
assert asset.get_item_by_id('TEAM_ST3L2T1Y').id == 'TEAM_ST3L2T1Y'
133-
assert not asset.get_item_by_id('invalid-id')
131+
assert isinstance(asset.get_item_by_mpn('TEAM-ST3L2T1Y'), Item)
132+
assert asset.get_item_by_mpn('TEAM-ST3L2T1Y').mpn == 'TEAM-ST3L2T1Y'
133+
assert not asset.get_item_by_mpn('invalid-mpn')

0 commit comments

Comments
 (0)