Skip to content

Commit d0c3d2e

Browse files
auto_connect.py: avoid uncaught exception
1 parent e38e57d commit d0c3d2e

File tree

1 file changed

+17
-8
lines changed
  • internal_filesystem/builtin/apps/com.example.wificonf/assets

1 file changed

+17
-8
lines changed

internal_filesystem/builtin/apps/com.example.wificonf/assets/auto_connect.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Automatically connect to the WiFi, based on the saved networks
22

3-
import network
3+
have_network=True
4+
try:
5+
import network
6+
except Exception as e:
7+
have_network=False
8+
print("auto_connect.py could not import network, have_network=False")
9+
410
import ujson
511
import os
612
import time
@@ -12,21 +18,21 @@
1218
def load_config():
1319
print("load_config: Checking for /data directory")
1420
try:
15-
os.stat('/data')
21+
os.stat('data')
1622
print("load_config: /data exists")
1723
except OSError:
1824
print("load_config: Creating /data directory")
19-
os.mkdir('/data')
25+
os.mkdir('data')
2026
print("load_config: Checking for /data/com.example.wificonf directory")
2127
try:
22-
os.stat('/data/com.example.wificonf')
28+
os.stat('data/com.example.wificonf')
2329
print("load_config: /data/com.example.wificonf exists")
2430
except OSError:
2531
print("load_config: Creating /data/com.example.wificonf directory")
26-
os.mkdir('/data/com.example.wificonf')
32+
os.mkdir('data/com.example.wificonf')
2733
print("load_config: Loading config from conf.json")
2834
try:
29-
with open('/data/com.example.wificonf/conf.json','r') as f:
35+
with open('data/com.example.wificonf/conf.json','r') as f:
3036
global access_points
3137
access_points=ujson.load(f)
3238
print(f"load_config: Loaded access_points: {access_points}")
@@ -85,10 +91,13 @@ def attempt_connecting(ssid,password):
8591
print(f"auto_connect.py attempt_connecting: Connection error: {e}")
8692
return False
8793

88-
print("auto_connect.py running...")
94+
95+
print("auto_connect.py running")
8996
load_config()
9097

91-
if len(access_points):
98+
if not have_network:
99+
print("auto_connect.py: no network module found, exiting...")
100+
elif len(access_points):
92101
wlan=network.WLAN(network.STA_IF)
93102
wlan.active(False) # restart WiFi hardware in case it's in a bad state
94103
wlan.active(True)

0 commit comments

Comments
 (0)