Skip to content

Commit

Permalink
More code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
Jc2k committed Mar 5, 2020
1 parent 8b942d3 commit effaf33
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
26 changes: 15 additions & 11 deletions aiohomekit/model/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,21 @@ def append(self, service: Service):


class Accessory(ToDictMixin):
def __init__(
self,
def __init__(self):
self.aid = get_id()
self._next_id = 0
self.services = Services()

@classmethod
def create_with_info(
cls,
name: str,
manufacturer: str,
model: str,
serial_number: str,
firmware_revision: str,
) -> None:
self.aid = get_id()
self.services = Services()

self._next_id = 0
) -> "Accessory":
self = cls()

accessory_info = self.add_service(ServicesTypes.ACCESSORY_INFORMATION)
accessory_info.add_char(CharacteristicsTypes.IDENTIFY, description="Identify")
Expand All @@ -98,10 +101,11 @@ def __init__(
CharacteristicsTypes.FIRMWARE_REVISION, value=firmware_revision
)

return self

@classmethod
def setup_from_dict(cls, data: Dict[str, Any]) -> "Accessory":
accessory = cls("Name", "Mfr", "Model", "0001", "0.1")
accessory.services = Services()
def create_from_dict(cls, data: Dict[str, Any]) -> "Accessory":
accessory = cls()
accessory.aid = data["aid"]

for service_data in data["services"]:
Expand Down Expand Up @@ -180,7 +184,7 @@ def from_file(cls, path):
def from_list(cls, accessories):
self = cls()
for accessory in accessories:
self.add_accessory(Accessory.setup_from_dict(accessory))
self.add_accessory(Accessory.create_from_dict(accessory))
return self

def add_accessory(self, accessory: Accessory) -> None:
Expand Down
8 changes: 6 additions & 2 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,9 @@ def controller_and_unpaired_accessory(request, event_loop):
model_mixin.id_counter = 0

httpd = AccessoryServer(config_file.name, None)
accessory = Accessory("Testlicht", "lusiardi.de", "Demoserver", "0001", "0.1")
accessory = Accessory.create_with_info(
"Testlicht", "lusiardi.de", "Demoserver", "0001", "0.1"
)
lightBulbService = accessory.add_service(ServicesTypes.LIGHTBULB)
lightBulbService.add_char(CharacteristicsTypes.ON, value=False)
httpd.add_accessory(accessory)
Expand Down Expand Up @@ -118,7 +120,9 @@ def controller_and_paired_accessory(request, event_loop):
model_mixin.id_counter = 0

httpd = AccessoryServer(config_file.name, None)
accessory = Accessory("Testlicht", "lusiardi.de", "Demoserver", "0001", "0.1")
accessory = Accessory.create_with_info(
"Testlicht", "lusiardi.de", "Demoserver", "0001", "0.1"
)
lightBulbService = accessory.add_service(ServicesTypes.LIGHTBULB)
lightBulbService.add_char(CharacteristicsTypes.ON, value=False)
httpd.add_accessory(accessory)
Expand Down
4 changes: 2 additions & 2 deletions tests/test_testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ async def test_update_named_service_events():

async def test_update_named_service_events_manual_accessory():
accessories = Accessories()
accessory = Accessory(
accessory = Accessory.create_with_info(
name="TestLight",
manufacturer="Test Mfr",
model="Test Bulb",
Expand Down Expand Up @@ -88,7 +88,7 @@ async def test_update_named_service_events_manual_accessory():

async def test_update_named_service_events_manual_accessory_auto_requires():
accessories = Accessories()
accessory = Accessory(
accessory = Accessory.create_with_info(
name="TestLight",
manufacturer="Test Mfr",
model="Test Bulb",
Expand Down

0 comments on commit effaf33

Please sign in to comment.