remove debug and fix array of 0
Browse files
README.md
CHANGED
@@ -4,7 +4,7 @@ emoji: ⚡
|
|
4 |
colorFrom: red
|
5 |
colorTo: pink
|
6 |
sdk: streamlit
|
7 |
-
sdk_version: 1.
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
|
|
4 |
colorFrom: red
|
5 |
colorTo: pink
|
6 |
sdk: streamlit
|
7 |
+
sdk_version: 1.24.1
|
8 |
app_file: app.py
|
9 |
pinned: false
|
10 |
---
|
app.py
CHANGED
@@ -47,7 +47,7 @@ if selected_shoes:
|
|
47 |
})
|
48 |
st.bar_chart(chart_data)
|
49 |
else:
|
50 |
-
st.
|
51 |
|
52 |
# get activities on a period
|
53 |
st.divider()
|
@@ -65,42 +65,48 @@ if st.session_state.start_date > st.session_state.end_date:
|
|
65 |
else:
|
66 |
st.session_state.activities = strava.get_activities_on_period(strava_auth, [], st.session_state.start_date, st.session_state.end_date, 1)
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
})
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
)
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
)
|
104 |
-
)
|
105 |
|
106 |
-
st.altair_chart(bars, theme="streamlit", use_container_width=True)
|
|
|
47 |
})
|
48 |
st.bar_chart(chart_data)
|
49 |
else:
|
50 |
+
st.info("No column(s) selected")
|
51 |
|
52 |
# get activities on a period
|
53 |
st.divider()
|
|
|
65 |
else:
|
66 |
st.session_state.activities = strava.get_activities_on_period(strava_auth, [], st.session_state.start_date, st.session_state.end_date, 1)
|
67 |
|
68 |
+
if len(st.session_state.activities) == 0:
|
69 |
+
st.error("No activities found on this period")
|
70 |
+
st.stop()
|
71 |
+
else:
|
72 |
+
activities_zones = {}
|
73 |
+
number_activities_with_heartrate = 0
|
74 |
+
for activity in st.session_state.activities:
|
75 |
+
if not activity["has_heartrate"]:
|
76 |
+
continue
|
77 |
+
try:
|
78 |
+
st.session_state.activity_zones = strava.get_activity_zones(strava_auth, activity["id"])[0]["distribution_buckets"]
|
79 |
+
number_activities_with_heartrate += 1
|
80 |
+
except Exception as e:
|
81 |
+
st.write(e)
|
82 |
+
if not activities_zones:
|
83 |
+
activities_zones = {idx: zone["time"] // 60 for idx, zone in enumerate(st.session_state.activity_zones)}
|
84 |
+
else:
|
85 |
+
for idx, zone in enumerate(st.session_state.activity_zones):
|
86 |
+
activities_zones[idx] += (zone["time"] // 60)
|
87 |
+
|
88 |
+
st.info(f"You got {len(st.session_state.activities)} activities on this period and {number_activities_with_heartrate} have heart rate information.")
|
89 |
+
|
90 |
+
zones_label = ["zone 1", "zone 2", "zone 3", "zone 4", "zone 5"]
|
91 |
+
zones_df = pd.DataFrame({
|
92 |
+
'zones': zones_label,
|
93 |
+
'minutes': activities_zones.values()
|
94 |
+
})
|
95 |
+
|
96 |
+
scale = alt.Scale(
|
97 |
+
domain=zones_label,
|
98 |
+
range=["#008000", "#ffcf3e", "#f67200", "#ee1010", "#3f2204"],
|
99 |
+
)
|
100 |
+
color = alt.Color("zones:N", scale=scale)
|
101 |
+
|
102 |
+
bars = (
|
103 |
+
alt.Chart(zones_df)
|
104 |
+
.mark_bar()
|
105 |
+
.encode(
|
106 |
+
x="zones",
|
107 |
+
y="minutes",
|
108 |
+
color=color,
|
109 |
+
)
|
110 |
)
|
|
|
111 |
|
112 |
+
st.altair_chart(bars, theme="streamlit", use_container_width=True)
|
requirements.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
streamlit==1.
|
2 |
httpx==0.24.1
|
3 |
pandas==2.1.0
|
4 |
python-dotenv==1.0.0
|
|
|
1 |
+
streamlit==1.24.1
|
2 |
httpx==0.24.1
|
3 |
pandas==2.1.0
|
4 |
python-dotenv==1.0.0
|
strava.py
CHANGED
@@ -9,8 +9,6 @@ from datetime import datetime
|
|
9 |
load_dotenv()
|
10 |
|
11 |
APP_URL = os.environ["APP_URL"]
|
12 |
-
print(os.environ)
|
13 |
-
print(st.secrets)
|
14 |
STRAVA_CLIENT_ID = os.environ["STRAVA_CLIENT_ID"]
|
15 |
STRAVA_CLIENT_SECRET = os.environ["STRAVA_CLIENT_SECRET"]
|
16 |
STRAVA_AUTHORIZATION_URL = "https://www.strava.com/oauth/authorize"
|
|
|
9 |
load_dotenv()
|
10 |
|
11 |
APP_URL = os.environ["APP_URL"]
|
|
|
|
|
12 |
STRAVA_CLIENT_ID = os.environ["STRAVA_CLIENT_ID"]
|
13 |
STRAVA_CLIENT_SECRET = os.environ["STRAVA_CLIENT_SECRET"]
|
14 |
STRAVA_AUTHORIZATION_URL = "https://www.strava.com/oauth/authorize"
|