-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfuncs.py
61 lines (48 loc) · 1.76 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
import datetime
from sql import *
## import Adafruit_DHT
def calculate_progress(start_time, finish_time):
current_time = datetime.datetime.now()
total_duration = finish_time - start_time
elapsed_duration = current_time - start_time
progress = int((elapsed_duration / total_duration) * 100)
if progress >= 100:
progress = 100
additional_info = "Process completed!"
else:
additional_info = f"Completed {progress}%"
return progress, additional_info
def sqlData_to_htmlData(row):
start_time = datetime.datetime.strptime(row["startTime"], '%Y-%m-%dT%H:%M')
finish_time = datetime.datetime.strptime(row["endTime"], '%Y-%m-%dT%H:%M')
progress, additional_info = calculate_progress(start_time, finish_time)
progressBar = row.copy()
progressBar['startTime'] = start_time
progressBar['endTime'] = finish_time
progressBar['progress'] = progress
progressBar['additional_info'] = additional_info
return progressBar
def getSQLData():
progress_bars = []
printersID = fetch_printersID()
for ID in printersID:
temp = getCurrentPrinting(ID)
temp = sqlData_to_htmlData(temp)
progress_bars.append(temp)
print(temp)
return progress_bars
def stringToDisplay(progress_bar):
progress = progress_bar['progress']
state = progress_bar['printingState']
if (state == 0):
toDisplay = "rEAdY"
elif (progress < 10):
toDisplay = f"ProG 00{progress}"
elif (progress < 100):
toDisplay = f"ProG 0{progress}"
else:
toDisplay = "ConPLEtE"
return toDisplay
# def getTempHumid(DATA_PIN,SENSOR_TYPE):
# humidity, temperature = Adafruit_DHT.read_retry(SENSOR_TYPE, DATA_PIN)
# return [f'{humidity:.2f}',f'{temperature:.2f}']