-
Notifications
You must be signed in to change notification settings - Fork 0
/
funcs.py
70 lines (50 loc) · 1.69 KB
/
funcs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from time import sleep
bcolors = {
"HEADER": '\033[95m',
"OKBLUE": '\033[94m',
"OKCYAN": '\033[96m',
"OKGREEN": '\033[92m',
"WARNING": '\033[93m',
"FAIL": '\033[91m',
"ENDC": '\033[0m',
"BOLD": '\033[1m',
"UNDERLINE": '\033[4m',
}
# colored string
def colstr(msg: str, color: str):
# use -> colstr('[DEBUG]', bcolors.WARNING)
return f"{bcolors[color]}{msg}{bcolors['ENDC']}"
def debug_print(*msg, **kwargs):
print(f"{colstr('[DEBUG]', 'WARNING')} {' '.join(msg)}", **kwargs)
def print_notification(*msg, **kwargs):
print(f"{colstr('[NOTICE]', 'HEADER')} {' '.join(msg)}", **kwargs)
def print_ok():
print(f" {colstr('[ OK ]', 'OKGREEN')}")
def print_no():
print(f" {colstr('[ NO ]', 'FAIL')}")
def connect_to_wifi(ssid, password):
debug_print("connecting to wifi...", end = "")
import network
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print_ok()
debug_print("server listening on: " + station.ifconfig()[0])
def is_btn_pressed(btn):
return not btn.value()
def blink_led(led, interval, iterations):
for _ in range(iterations * 2):
led.value(not led.value())
sleep(interval)
def create_web_page():
with open("webServer/index.html", "r") as htmlfile:
html = "\n".join(htmlfile.readlines())
# inject javascript in webpage
with open("webServer/index.js", "r") as jsfile:
html = html.replace(
"<!-- inject js -->",
"<script type='module'>" + "\n".join(jsfile.readlines()) + "</script>"
)
return html