diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-07 20:53:59 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-07 20:53:59 -0500 |
commit | 35b5b8956f0bdf81da25380de7d3a6f243e6d1c0 (patch) | |
tree | 1c7fac20e52ee30669670283e1633914590b85db /src/exporter.rs | |
parent | 544b316bbaa36448b3272c4e00cd21c07fe0971d (diff) | |
download | lastfm-query-35b5b8956f0bdf81da25380de7d3a6f243e6d1c0.tar.gz lastfm-query-35b5b8956f0bdf81da25380de7d3a6f243e6d1c0.zip |
combine exporter and cmd/sync
Diffstat (limited to 'src/exporter.rs')
-rw-r--r-- | src/exporter.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/exporter.rs b/src/exporter.rs deleted file mode 100644 index 29347f9..0000000 --- a/src/exporter.rs +++ /dev/null @@ -1,37 +0,0 @@ -use db; -use lastfm; - -pub struct Exporter<'d, 'l> { - db: &'d db::DB, - lastfm: &'l lastfm::LastFMClient, -} - -impl<'d, 'l> Exporter<'d, 'l> { - pub fn new( - db: &'d db::DB, - lastfm: &'l lastfm::LastFMClient - ) -> Exporter<'d, 'l> { - Exporter { - db, - lastfm, - } - } - - pub fn tracks_to_sync(&self) -> failure::Fallible<u64> { - let ts = self.db.most_recent_timestamp()?; - Ok(self.lastfm.track_count(ts.map(|x| x + 1))?) - } - - pub fn sync<F: FnMut(lastfm::Track)>( - &self, - track_cb: F, - ) -> failure::Fallible<()> { - let ts = self.db.most_recent_timestamp()?; - self.db.insert_tracks( - self.lastfm.tracks(ts.map(|x| x + 1)), - track_cb - )?; - - Ok(()) - } -} |