aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2021-03-23 02:25:27 +0300
committerEvgeny Zinoviev <me@ch1p.io>2021-03-23 02:25:27 +0300
commit848cef4ce06350b5d4f6213a94363b4cebd92068 (patch)
tree5951a5afc0762f15414142f256a19c1de1943536
parentd33f28a1bf69861ecdc6c3a97b3d4313dba907f7 (diff)
test sms sending
-rw-r--r--e3372.py25
-rw-r--r--main.py12
2 files changed, 29 insertions, 8 deletions
diff --git a/e3372.py b/e3372.py
index eb3093b..9d26dc6 100644
--- a/e3372.py
+++ b/e3372.py
@@ -6,11 +6,18 @@ from bs4 import BeautifulSoup
from bs4.element import Tag
-def build_request(params: dict):
+def build_request(params: dict, depth=1):
+ if depth == 1:
+ return build_request({
+ 'request': params
+ }, depth=depth+1)
+
items = []
for key, value in params.items():
+ if isinstance(value, dict):
+ value = build_request(value, depth=depth+1)
items.append(f'<{key}>{value}</{key}>')
- return '<request>'+''.join(items)+'</request>'
+ return ''.join(items)
def xml2dict(node):
@@ -69,8 +76,18 @@ class WebAPI:
return sms_list
- def send_sms(self):
- pass
+ def send_sms(self, phone: str, content: str):
+ return self.request('sms/send-sms', build_request({
+ 'Index': -1,
+ 'Phones': {
+ 'Phone': phone,
+ },
+ 'Sca': '',
+ 'Content': content,
+ 'Length': len(content),
+ 'Reserved': 1,
+ 'Date': -1
+ }))
def dataswitch(self, on=True):
return self.request('dialup/mobile-dataswitch', data=build_request({
diff --git a/main.py b/main.py
index 16cce4f..e7afa2d 100644
--- a/main.py
+++ b/main.py
@@ -8,16 +8,20 @@ def main():
parser.add_argument('--ip',
default='192.168.8.1',
help='Modem IP address')
+ parser.add_argument('--phone')
+ parser.add_argument('--content')
args = parser.parse_args()
client = WebAPI(args.ip)
client.auth()
- info = client.device_information()
- signal = client.device_signal()
+ # info = client.device_information()
+ # signal = client.device_signal()
- pprint(info)
- pprint(signal)
+ result = client.send_sms(phone=args.phone,
+ content=args.content)
+ print(result)
+ print(type(result))
# messages = client.get_sms()
#