diff options
Diffstat (limited to 'src/libvirt.rs')
-rw-r--r-- | src/libvirt.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/libvirt.rs b/src/libvirt.rs index e65ea1e..4bf8590 100644 --- a/src/libvirt.rs +++ b/src/libvirt.rs @@ -66,16 +66,13 @@ pub struct Libvirt { impl Libvirt { pub fn connect(url: &str) -> Result<Self, VirtError> { debug!("connecting to libvirtd {}", url); - let conn = Connect::open(url).map_err(|err| VirtError::Connect(err))?; + let conn = Connect::open(url).map_err(VirtError::Connect)?; Ok(Self { conn }) } fn get_domains(&self) -> Result<Vec<Domain>, VirtError> { debug!("listing all domains"); - Ok(self - .conn - .list_all_domains(0) - .map_err(|err| VirtError::Domains(err))?) + Ok(self.conn.list_all_domains(0).map_err(VirtError::Domains)?) } fn get_domain(&self, name: &str) -> Result<Option<Domain>, VirtError> { @@ -119,7 +116,7 @@ impl Libvirt { let disk = find_iso_xml(&xml); let flags = VIR_DOMAIN_AFFECT_CONFIG | VIR_DOMAIN_AFFECT_CURRENT | VIR_DOMAIN_AFFECT_LIVE; - if disk.len() > 0 { + if !disk.is_empty() { domain .detach_device_flags(&disk, flags) .map_err(|err| VirtError::DetachIso(name.to_string(), err))?; @@ -141,7 +138,7 @@ impl Libvirt { } pub fn start(&self, name: &str) -> Result<(), VirtError> { - if let Some(_) = self.get_domain(name)? { + if self.get_domain(name)?.is_some() { self.trigger_start(name)?; wait_for_ssh(name); } @@ -196,7 +193,7 @@ impl Libvirt { } fn get_name(domain: &Domain) -> Result<String, VirtError> { - let name = domain.get_name().map_err(|err| VirtError::GetName(err))?; + let name = domain.get_name().map_err(VirtError::GetName)?; Ok(name) } @@ -260,7 +257,7 @@ fn find_iso_xml(xml: &str) -> String { } let end = end.unwrap(); let disk = &xml[..end + 7]; - if let Some(_) = disk.find(".iso") { + if disk.contains(".iso") { return disk.to_string(); } xml = &xml[end..]; |