driver: Use inet_aton to check IPV4 address format
This commit is contained in:
parent
b73eacd234
commit
2df22d5dcb
|
@ -93,15 +93,18 @@ class Device:
|
||||||
self._read_response = read_response
|
self._read_response = read_response
|
||||||
self._cmd_lock = cmd_lock
|
self._cmd_lock = cmd_lock
|
||||||
|
|
||||||
async def set_ip_settings(self, addr=[192, 168, 1, 128], port=1337, prefix_len=24, gateway=[192, 168, 1, 1]):
|
async def set_ip_settings(self, addr="192.168.1.128", port=1337, prefix_len=24, gateway="192.168.1.1"):
|
||||||
"""
|
"""
|
||||||
After calling this fn, the ip settings are immediately saved into flash and will be effective on next reboot.
|
After calling this fn, the ip settings are immediately saved into flash and will be effective on next reboot.
|
||||||
"""
|
"""
|
||||||
if not(isinstance(addr, list) and isinstance(gateway, list)):
|
try:
|
||||||
|
socket.inet_aton(addr)
|
||||||
|
socket.inet_aton(gateway)
|
||||||
|
except OSError:
|
||||||
raise InvalidDataType
|
raise InvalidDataType
|
||||||
|
|
||||||
if not(len(addr) == 4 and len(gateway) == 4):
|
addr = addr.split(".")
|
||||||
raise InvalidDataType
|
gateway = gateway.split(".")
|
||||||
|
|
||||||
if not(isinstance(port, int) and isinstance(prefix_len, int)):
|
if not(isinstance(port, int) and isinstance(prefix_len, int)):
|
||||||
raise InvalidDataType
|
raise InvalidDataType
|
||||||
|
|
Loading…
Reference in New Issue