summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-02 18:08:40 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-02 18:08:40 -0500
commitc459b5e85ef9b695b3c9a107b7cf7f08847c608f (patch)
tree072291cc3f167a31ee655fa715ebec3c4afb9a3e
parent568b21aa76a452658b6b7f1b01e6ab75a49592cf (diff)
Get paged activity output from strava
-rw-r--r--src/importer.rs21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/importer.rs b/src/importer.rs
index ab77837..9ea7e35 100644
--- a/src/importer.rs
+++ b/src/importer.rs
@@ -45,13 +45,26 @@ fn get_or_refresh_token<Strava: strava::StravaApi>(strava: &Strava, conn: &PgCon
}
fn import_strava_user(state: ImporterState, user: models::User) {
+ use std::thread::sleep;
+ use std::time::Duration;
+
let strava = state.strava.read().expect("FIX");
let conn = state.conn.lock().expect("FIX");
let token = get_or_refresh_token(&*strava, &conn, &user).expect("FIX");
- let result = strava
- .get("/athlete/activities", &token.access_token, EMPTY_PARAMS)
- .expect("ok");
- info!("import_strava_user: Got result: {:#?}", result);
+ for page in 1.. {
+ let params = [
+ ("page", &format!("{}", page)),
+ ("per_page", &format!("{}", 200)),
+ ];
+ let result = strava
+ .get("/athlete/activities", &token.access_token, &params)
+ .expect("ok");
+ // info!("import_strava_user: Got result: {:#?}", result);
+ for activity in result.as_array().expect("FIX") {
+ info!("activity id: {} start: {}", activity["id"], activity["start_date"]);
+ }
+ sleep(Duration::from_secs(1));
+ }
}
fn handle_command(state: ImporterState, command: Command) {