Merge pull request #139 from michaelherger/rustify

Rustify some recent changes according to plietar
This commit is contained in:
Sasha Hilton 2018-02-12 00:59:06 +01:00 committed by GitHub
commit 2617a9cfe2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 24 deletions

2
.gitignore vendored
View file

@ -2,3 +2,5 @@ target
.cargo
spotify_appkey.key
.vagrant/
.project
.history

View file

@ -215,7 +215,7 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String, port
let serve = {
let http = Http::new();
debug!("Zeroconf server listening on 0.0.0.0:{}", port);
http.serve_addr_handle(&format!("0.0.0.0:{}", port).parse().unwrap(), &handle, move || Ok(discovery.clone())).unwrap()
http.serve_addr_handle(&format!("0.0.0.0:{}", port).parse().unwrap(), &handle, move || Ok(discovery.clone())).expect("Unable to bind Zeroconf to port")
};
let s_port = serve.incoming_ref().local_addr().port();

View file

@ -101,7 +101,7 @@ fn setup(args: &[String]) -> Setup {
.optopt("", "device", "Audio device to use. Use '?' to list options", "DEVICE")
.optopt("", "mixer", "Mixer to use", "MIXER")
.optopt("", "initial-volume", "Initial volume in %, once connected (must be from 0 to 100)", "VOLUME")
.optopt("z", "zeroconf-port", "The port the internal server advertised over zeroconf uses.", "ZEROCONF_PORT");
.optopt("", "zeroconf-port", "The port the internal server advertised over zeroconf uses.", "ZEROCONF_PORT");
let matches = match opts.parse(&args[1..]) {
Ok(m) => m,
@ -135,30 +135,21 @@ fn setup(args: &[String]) -> Setup {
let mixer = mixer::find(mixer_name.as_ref())
.expect("Invalid mixer");
let initial_volume: i32;
if matches.opt_present("initial-volume") && matches.opt_str("initial-volume").unwrap().parse::<i32>().is_ok() {
let iv = matches.opt_str("initial-volume").unwrap().parse::<i32>().unwrap();
match iv {
iv if iv >= 0 && iv <= 100 => { initial_volume = iv * 0xFFFF / 100 }
_ => {
debug!("Volume needs to be a value from 0-100; set volume level to 50%");
initial_volume = 0x8000;
let initial_volume = matches
.opt_str("initial-volume")
.map(|volume| {
let volume = volume.parse::<i32>().unwrap();
if volume < 0 || volume > 100 {
panic!("Initial volume must be in the range 0-100");
}
}
} else {
initial_volume = 0x8000;
}
volume * 0xFFFF / 100
})
.unwrap_or(0x8000);
let zeroconf_port: u16;
if matches.opt_present("zeroconf-port") && matches.opt_str("zeroconf-port").unwrap().parse::<u16>().is_ok() {
let z = matches.opt_str("zeroconf-port").unwrap().parse::<u16>().unwrap();
match z {
z if z >= 1024 => { zeroconf_port = z }
_ => { zeroconf_port = 0 }
}
} else {
zeroconf_port = 0
}
let zeroconf_port =
matches.opt_str("zeroconf-port")
.map(|port| port.parse::<u16>().unwrap())
.unwrap_or(0);
let name = matches.opt_str("name").unwrap();
let use_audio_cache = !matches.opt_present("disable-audio-cache");