Skip to content

Commit 5858a2f

Browse files
authored
Merge pull request #80 from tekktrik/bugfix/multiple-networks
Lazily parse secrets data
2 parents fc73ddc + 1f23a16 commit 5858a2f

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

adafruit_portalbase/network.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,21 +102,7 @@ def __init__(
102102
self._secrets = secrets_data
103103
else:
104104
self._secrets = secrets
105-
106-
if "networks" in self._secrets:
107-
if isinstance(self._secrets["networks"], (list, tuple)):
108-
self._secrets_network = self._secrets["networks"]
109-
else:
110-
raise TypeError(
111-
"'networks' must be a list/tuple of dicts of 'ssid' and 'password'"
112-
)
113-
else:
114-
self._secrets_network = [
115-
{
116-
"ssid": self._secrets["ssid"],
117-
"password": self._secrets["password"],
118-
}
119-
]
105+
self._secrets_network = None
120106

121107
self.requests = None
122108

@@ -341,6 +327,23 @@ def connect(self, max_attempts=10):
341327
failing or use None to disable. Defaults to 10.
342328
343329
"""
330+
331+
if not self._secrets_network:
332+
if "networks" in self._secrets:
333+
if isinstance(self._secrets["networks"], (list, tuple)):
334+
self._secrets_network = self._secrets["networks"]
335+
else:
336+
raise TypeError(
337+
"'networks' must be a list/tuple of dicts of 'ssid' and 'password'"
338+
)
339+
else:
340+
self._secrets_network = [
341+
{
342+
"ssid": self._secrets["ssid"],
343+
"password": self._secrets["password"],
344+
}
345+
]
346+
344347
for secret_entry in self._secrets_network:
345348

346349
self._wifi.neo_status(STATUS_CONNECTING)

0 commit comments

Comments
 (0)