aboutsummaryrefslogtreecommitdiff
path: root/extmod/webrepl
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2022-05-14 15:00:20 +0200
committerDamien George <damien@micropython.org>2022-05-24 13:12:40 +1000
commit6b6ceafe1aae23d1973c8b7a6169c05f0a400d28 (patch)
tree10916673b8f09d0953a31c60e3a5f6b21501148c /extmod/webrepl
parent5fa8ea1b8b1c3e130ffdb6136ab0e7675fc41b46 (diff)
extmod/webrepl: Fix setting password in foreground mode and factor code.
The password was not being set when running in foreground mode. Duplicate code has been removed.
Diffstat (limited to 'extmod/webrepl')
-rw-r--r--extmod/webrepl/webrepl.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/extmod/webrepl/webrepl.py b/extmod/webrepl/webrepl.py
index 8ddf56143..0de813cda 100644
--- a/extmod/webrepl/webrepl.py
+++ b/extmod/webrepl/webrepl.py
@@ -59,24 +59,28 @@ def stop():
listen_s.close()
-def start(port=8266, password=None):
+def start(port=8266, password=None, accept_handler=accept_conn):
stop()
- if password is None:
+ webrepl_pass = password
+ if webrepl_pass is None:
try:
import webrepl_cfg
- _webrepl.password(webrepl_cfg.PASS)
- setup_conn(port, accept_conn)
- print("Started webrepl in normal mode")
+ webrepl_pass = webrepl_cfg.PASS
except:
print("WebREPL is not configured, run 'import webrepl_setup'")
+
+ _webrepl.password(webrepl_pass)
+ s = setup_conn(port, accept_handler)
+
+ if accept_handler is None:
+ print("Starting webrepl in foreground mode")
+ accept_conn(s)
+ elif password is None:
+ print("Started webrepl in normal mode")
else:
- _webrepl.password(password)
- setup_conn(port, accept_conn)
print("Started webrepl in manual override mode")
-def start_foreground(port=8266):
- stop()
- s = setup_conn(port, None)
- accept_conn(s)
+def start_foreground(port=8266, password=None):
+ start(port, password, None)