🏡 index : ~doyle/sonos-cli.git

author Jordan Doyle <jordan@9t9t9.com> 2018-04-05 9:04:59.0 +00:00:00
committer Jordan Doyle <jordan@9t9t9.com> 2018-04-05 9:04:59.0 +00:00:00
commit
b9411382c29bcf68269f42aa669274a1e514d28e [patch]
tree
6efcdaf88c2cbefd17702570e2425a12314a401d
parent
a4c1d854dedcebec1f33f84d5584f496bda8c2b6
download
b9411382c29bcf68269f42aa669274a1e514d28e.tar.gz

make cache writing more clear in discovery



Diff

 src/main.rs | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 2ab5a7f..d6b7a62 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -239,13 +239,16 @@ pub fn discover(pretty: bool, invalidate: bool) -> Vec<sonos::Speaker> {

    let speakers = sonos::discover().unwrap();

    let writer = std::fs::File::create(CACHE_FILE_NAME).unwrap();
    let mut serializer = serde_json::Serializer::new(writer);

    speakers.iter()
        .map(|s| s.ip)
        .collect::<Vec<IpAddr>>()
        .serialize(&mut serializer).unwrap();
    {
        // write IP addresses of all known speakers to cache
        let writer = std::fs::File::create(CACHE_FILE_NAME).unwrap();
        let mut serializer = serde_json::Serializer::new(writer);

        speakers.iter()
            .map(|s| s.ip)
            .collect::<Vec<IpAddr>>()
            .serialize(&mut serializer).unwrap();
    }

    speakers
}