summaryrefslogtreecommitdiff
path: root/src/importer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/importer.rs')
-rw-r--r--src/importer.rs52
1 files changed, 29 insertions, 23 deletions
diff --git a/src/importer.rs b/src/importer.rs
index a32a0ee..f5a8bf4 100644
--- a/src/importer.rs
+++ b/src/importer.rs
@@ -5,6 +5,7 @@ use serde::Deserialize;
use serde::Serialize;
use serde_json::to_value;
use serde_json::Value;
+use std::collections::HashSet;
use std::sync::Arc;
use std::sync::Mutex;
use std::sync::RwLock;
@@ -12,7 +13,6 @@ use std::thread;
use std::time::Duration;
use std::time::Instant;
use threadpool::ThreadPool;
-use std::collections::HashSet;
use crate::db;
use crate::diesel::Connection;
@@ -27,7 +27,7 @@ pub const EMPTY_PARAMS: &[(&str, &str)] = &[];
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum Command {
ImportStravaUser { username: String },
- ImportStravaActivity { username: String, id: i64, },
+ ImportStravaActivity { username: String, id: i64 },
ProcessAllRawData,
ProcessRawData(models::RawDataKey),
}
@@ -67,8 +67,12 @@ fn handle_one_task<S: strava::StravaApi>(
let command = serde_json::from_value(task.payload.clone())?;
match command {
- Command::ImportStravaUser { username } => import_strava_user(shared, task, username.as_str())?,
- Command::ImportStravaActivity { username, id } => import_strava_activity(shared, task, username.as_str(), id)?,
+ Command::ImportStravaUser { username } => {
+ import_strava_user(shared, task, username.as_str())?
+ }
+ Command::ImportStravaActivity { username, id } => {
+ import_strava_activity(shared, task, username.as_str(), id)?
+ }
Command::ProcessAllRawData => process_all_raw_data(shared, task.clone())?,
Command::ProcessRawData(ref d) => process_raw_data(shared, d, task.clone())?,
}
@@ -174,7 +178,7 @@ fn process_strava_activity<S: strava::StravaApi>(
task.state = models::TaskState::SUCCESSFUL;
let conn = &shared.conn.lock().unwrap();
db::update_task(conn, task)?;
- return Ok(())
+ return Ok(());
}
let json_error = || Error::UnexpectedJson(data.payload.clone());
@@ -187,7 +191,7 @@ fn process_strava_activity<S: strava::StravaApi>(
task.state = models::TaskState::SUCCESSFUL;
let conn = &shared.conn.lock().unwrap();
db::update_task(conn, task)?;
- return Ok(())
+ return Ok(());
}
}?;
let entry_type = entry_payload["type"]
@@ -271,8 +275,8 @@ fn import_strava_activity<S: strava::StravaApi>(
shared: Arc<ImporterSharedData<S>>,
mut task: models::Task,
username: &str,
- id: i64
- ) -> Result<(), Error> {
+ id: i64,
+) -> Result<(), Error> {
let strava = shared.strava.read().unwrap();
let user = db::get_user(&shared.conn.lock().unwrap(), username)?;
@@ -295,20 +299,21 @@ fn import_strava_activity<S: strava::StravaApi>(
payload: activity,
entry_type: None,
entry_id: None,
- })?;
+ },
+ )?;
db::insert_task(
conn,
&models::NewTask {
start_at: now,
state: models::TaskState::NEW,
username: username,
- payload: &to_value(
- Command::ProcessRawData(models::RawDataKey {
- data_type: models::DataType::StravaActivity,
- id: id,
- username: username.to_string(),
- }))?
- })?;
+ payload: &to_value(Command::ProcessRawData(models::RawDataKey {
+ data_type: models::DataType::StravaActivity,
+ id: id,
+ username: username.to_string(),
+ }))?,
+ },
+ )?;
task.state = models::TaskState::SUCCESSFUL;
db::update_task(conn, task)?;
Ok(())
@@ -354,7 +359,8 @@ fn import_strava_user<S: strava::StravaApi>(
&shared.conn.lock().unwrap(),
username,
models::DataType::StravaActivity,
- &activity_ids)?;
+ &activity_ids,
+ )?;
missing_ids.extend(missing_on_page.iter());
if missing_on_page.len() < per_page / 3 {
@@ -377,12 +383,12 @@ fn import_strava_user<S: strava::StravaApi>(
start_at: now + chrono::Duration::seconds(i as i64 * 10),
state: models::TaskState::NEW,
username: username,
- payload: &to_value(
- Command::ImportStravaActivity {
- username: username.to_string(),
- id: missing_id,
- })?,
- })?;
+ payload: &to_value(Command::ImportStravaActivity {
+ username: username.to_string(),
+ id: missing_id,
+ })?,
+ },
+ )?;
}
task.state = models::TaskState::SUCCESSFUL;
db::update_task(conn, task)?;