Gireg commited on
Commit
0dc8f6c
1 Parent(s): d8096fb

remove debug and fix array of 0

Browse files
Files changed (4) hide show
  1. README.md +1 -1
  2. app.py +44 -38
  3. requirements.txt +1 -1
  4. strava.py +0 -2
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: ⚡
4
  colorFrom: red
5
  colorTo: pink
6
  sdk: streamlit
7
- sdk_version: 1.26.0
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.write("No column(s) selected")
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
- st.write(f"You got {len(st.session_state.activities)} activities")
69
-
70
- activities_zones = {}
71
- for activity in st.session_state.activities:
72
- if not activity["has_heartrate"]:
73
- continue
74
- try:
75
- st.session_state.activity_zones = strava.get_activity_zones(strava_auth, activity["id"])[0]["distribution_buckets"]
76
- except Exception as e:
77
- st.write(e)
78
- if not activities_zones:
79
- activities_zones = {idx: zone["time"] // 60 for idx, zone in enumerate(st.session_state.activity_zones)}
80
- else:
81
- for idx, zone in enumerate(st.session_state.activity_zones):
82
- activities_zones[idx] += (zone["time"] // 60)
83
-
84
- zones_label = ["zone 1", "zone 2", "zone 3", "zone 4", "zone 5"]
85
- zones_df = pd.DataFrame({
86
- 'zones': zones_label,
87
- 'minutes': activities_zones.values()
88
- })
89
-
90
- scale = alt.Scale(
91
- domain=zones_label,
92
- range=["#008000", "#ffcf3e", "#f67200", "#ee1010", "#3f2204"],
93
- )
94
- color = alt.Color("zones:N", scale=scale)
95
-
96
- bars = (
97
- alt.Chart(zones_df)
98
- .mark_bar()
99
- .encode(
100
- x="zones",
101
- y="minutes",
102
- color=color,
 
 
 
 
 
 
 
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.26.0
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"