-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetData.py
More file actions
73 lines (63 loc) · 3.28 KB
/
Copy pathgetData.py
File metadata and controls
73 lines (63 loc) · 3.28 KB
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
71
72
73
import streamlit as st
import random as rand
from config import get_user_location, getWeatherData, getFakeData, write_to
pod_state = {
1 : "Operational",
2 : "Maintenance",
3 : "Docked"
}
def pod_fake_data():
if "pod1state" not in st.session_state:
st.session_state.pod1state = pod_state[rand.randint(1,3)]
if "pod2state" not in st.session_state:
st.session_state.pod2state = pod_state[rand.randint(1,3)]
if "pod3state" not in st.session_state:
st.session_state.pod3state = pod_state[rand.randint(1,3)]
if "pod1speed" not in st.session_state:
st.session_state.pod1speed = rand.randint(0,1000)
if "pod2speed" not in st.session_state:
st.session_state.pod2speed = rand.randint(0,1000)
if "pod3speed" not in st.session_state:
st.session_state.pod3speed = rand.randint(0,1000)
if "pod1bat" not in st.session_state:
st.session_state.pod1bat = rand.randint(0,100)
if "pod2bat" not in st.session_state:
st.session_state.pod2bat = rand.randint(0,100)
if "pod3bat" not in st.session_state:
st.session_state.pod3bat = rand.randint(0,100)
if "pod1energy" not in st.session_state:
st.session_state.pod1energy = rand.randint(30,100)
if "pod2energy" not in st.session_state:
st.session_state.pod2energy = rand.randint(30,100)
if "pod3energy" not in st.session_state:
st.session_state.pod3energy = rand.randint(30,100)
if "pod1health" not in st.session_state:
st.session_state.pod1health = rand.randint(30,100)
if "pod2health" not in st.session_state:
st.session_state.pod2health = rand.randint(30,100)
if "pod3health" not in st.session_state:
st.session_state.pod3health = rand.randint(30,100)
pod_data = [
["Pod State", "Pod Speed (km/h)", "Pod Battery (%)", "Pod Energy Use (W/km)", "Pod Health (%)"],
[st.session_state.pod1state, st.session_state.pod1speed, st.session_state.pod1bat, st.session_state.pod1energy, st.session_state.pod1health],
[st.session_state.pod2state, st.session_state.pod2speed, st.session_state.pod2bat, st.session_state.pod2energy, st.session_state.pod2health],
[st.session_state.pod3state, st.session_state.pod3speed, st.session_state.pod3bat, st.session_state.pod3energy, st.session_state.pod3health]
]
write_to("pod_data.csv", pod_data)
def getUserData():
if "current_loc" not in st.session_state:
st.session_state.current_loc = get_user_location()
current_loc = st.session_state.current_loc
params = {
"latitude": current_loc["latitude"],
"longitude": current_loc["longitude"],
"current": "temperature_2m,relativehumidity_2m,apparent_temperature,cloudcover,windspeed_10m,pressure_msl,weathercode"
}
if "weather_data" not in st.session_state:
st.session_state.weather_data = getWeatherData(params)
if st.session_state.weather_data == {}:
st.session_state.weather_data = {'time': '2026-02-14T04:00', 'interval': 900, 'temperature_2m': 27.2, 'relativehumidity_2m': 65, 'apparent_temperature': 30.4, 'cloudcover': 46, 'windspeed_10m': 5.5, 'pressure_msl': 1015.5, 'weathercode': 2}
if "fake_data" not in st.session_state:
st.session_state.fake_data = getFakeData()
pod_fake_data()
getUserData()