Skip to content

Commit

Permalink
Print all keys
Browse files Browse the repository at this point in the history
  • Loading branch information
Andre0512 committed Mar 8, 2023
1 parent 5acc81a commit c4d21be
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
10 changes: 7 additions & 3 deletions pyhon/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def get_arguments():
subparser = parser.add_subparsers(title="commands", metavar="COMMAND")
keys = subparser.add_parser("keys", help="print as key format")
keys.add_argument("keys", help="print as key format", action="store_true")
keys.add_argument("--all", help="print also full keys", action="store_true")
return vars(parser.parse_args())


Expand Down Expand Up @@ -90,9 +91,12 @@ async def main():
for device in hon.devices:
print("=" * 10, device.appliance_type, "-", device.nick_name, "=" * 10)
if args.get("keys"):
key_print(device.data["attributes"]["parameters"])
key_print(device.data["appliance"])
key_print(device.data)
data = device.data.copy()
attr = "get" if args.get("all") else "pop"
key_print(data["attributes"].__getattribute__(attr)("parameters"))
key_print(data.__getattribute__(attr)("appliance"))
key_print(data.__getattribute__(attr)("commands"))
key_print(data)
pretty_print(create_command(device.commands, concat=True))
else:
pretty_print({"data": device.data})
Expand Down
1 change: 1 addition & 0 deletions pyhon/appliances/wm.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ def __init__(self, data):
def get(self):
if self._data["attributes"]["lastConnEvent"]["category"] == "DISCONNECTED":
self._data["attributes"]["parameters"]["machMode"] = "0"
self._data["active"] = bool(self._data.get("activity"))
return self._data
7 changes: 7 additions & 0 deletions pyhon/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@ def __getitem__(self, item):
return self.data[item]
return self.attributes["parameters"].get(item, self.appliance[item])

def get(self, item, default=None):
try:
return self[item]
except KeyError | IndexError:
return default


@property
def appliance_model_id(self):
return self._appliance.get("applianceModelId")
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

setup(
name="pyhOn",
version="0.3.0",
version="0.3.1",
author="Andre Basche",
description="Control hOn devices with python",
long_description=long_description,
Expand Down

0 comments on commit c4d21be

Please sign in to comment.