diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-06 23:26:02 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-06 23:26:02 -0500 |
commit | 3f4a6ec11e55a1d5634ba24e2dfd32d9e1d70d65 (patch) | |
tree | 52c83d5495b734890ff0f6312273704311e45011 /src/main.rs | |
parent | a47cdb90b8bfb91bccb7ea7d36a54115d429605d (diff) | |
download | lastfm-query-3f4a6ec11e55a1d5634ba24e2dfd32d9e1d70d65.tar.gz lastfm-query-3f4a6ec11e55a1d5634ba24e2dfd32d9e1d70d65.zip |
make db syncing work
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs index 0df7810..ac8e5f8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ extern crate directories; extern crate failure; +extern crate pbr; extern crate reqwest; extern crate rusqlite; extern crate serde; @@ -8,6 +9,7 @@ extern crate serde_json; extern crate serde_derive; mod error; +mod exporter; mod lastfm; mod paths; mod db; @@ -23,10 +25,14 @@ fn main() { let db = db::DB::new(&paths::dbpath()) .expect("failed to create db"); let lastfm = lastfm::LastFMClient::new(api_key, username); + let exporter = exporter::Exporter::new(&db, &lastfm); - println!("{}", lastfm.track_count().unwrap()); + let to_fetch = exporter.tracks_to_sync().unwrap(); + println!("need to download {} tracks", to_fetch); + let mut bar = pbr::ProgressBar::new(to_fetch); - for track in lastfm.tracks().take(10) { - println!("{}", track.name); - } + exporter.sync(|_| { bar.inc(); }) + .expect("failed to update db"); + + bar.finish_print("done"); } |