diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-06 01:50:59 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-06 01:50:59 -0500 |
commit | a7cceb1aa5afb13de9f51c10670757d39d50e2a3 (patch) | |
tree | 826cec321541a71aa5c5b784672772b40f491412 /src/main.rs | |
parent | 93f6e7083af1db40b16db049b62025f8cdcbbc5a (diff) | |
download | lastfm-query-a7cceb1aa5afb13de9f51c10670757d39d50e2a3.tar.gz lastfm-query-a7cceb1aa5afb13de9f51c10670757d39d50e2a3.zip |
add some basic last.fm api querying
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index f1018d9..0df7810 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,32 @@ extern crate directories; extern crate failure; +extern crate reqwest; extern crate rusqlite; +extern crate serde; +extern crate serde_json; +#[macro_use] +extern crate serde_derive; mod error; +mod lastfm; mod paths; mod db; fn main() { + let args: Vec<_> = std::env::args().collect(); + if args.len() < 3 { + panic!("usage: {} USERNAME API_KEY", args[0]); + } + let username = &args[1]; + let api_key = &args[2]; + let db = db::DB::new(&paths::dbpath()) .expect("failed to create db"); + let lastfm = lastfm::LastFMClient::new(api_key, username); + + println!("{}", lastfm.track_count().unwrap()); + + for track in lastfm.tracks().take(10) { + println!("{}", track.name); + } } |