diff options
-rw-r--r-- | e3372.py | 16 | ||||
-rw-r--r-- | main.py | 4 |
2 files changed, 15 insertions, 5 deletions
@@ -3,6 +3,7 @@ import sys from datetime import datetime from bs4 import BeautifulSoup +from bs4.element import Tag def build_request(params: dict): @@ -12,6 +13,16 @@ def build_request(params: dict): return '<request>'+''.join(items)+'</request>' +def xml2dict(node): + data = {} + + for c in node.children: + if isinstance(c, Tag): + data[c.name] = c.get_text() + + return data + + class WebAPI: def __init__(self, ip: str): self.ip = ip @@ -29,11 +40,10 @@ class WebAPI: self.headers['Content-Type'] = 'text/xml' def device_information(self): - return self.request('device/information') + return xml2dict(self.request('device/information')) def device_signal(self): - return self.request('device/signal') - + return xml2dict(self.request('device/signal')) def get_sms(self, count=10, page=1): request = build_request({ @@ -16,8 +16,8 @@ def main(): info = client.device_information() signal = client.device_signal() - print(info) - print(signal) + pprint(info) + pprint(signal) # messages = client.get_sms() # |