fix: remove unwraps()
update_containers use an if let Some() instead of an unwrtap().to_owned()
This commit is contained in:
+47
-45
@@ -310,54 +310,56 @@ impl AppData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i in containers.iter() {
|
for i in containers.iter() {
|
||||||
let id = i.id.as_ref().unwrap().to_owned();
|
if let Some(id) = i.id.as_ref() {
|
||||||
let mut name = i
|
let mut name = i
|
||||||
.names
|
.names
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap_or(&vec!["".to_owned()])
|
.unwrap_or(&vec!["".to_owned()])
|
||||||
.get(0)
|
.get(0)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.to_owned();
|
.to_owned();
|
||||||
if let Some(c) = name.chars().next() {
|
if let Some(c) = name.chars().next() {
|
||||||
if c == '/' {
|
if c == '/' {
|
||||||
name.remove(0);
|
name.remove(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
let state = State::from(i.state.as_ref().unwrap_or(&"dead".to_owned()).trim());
|
let state = State::from(i.state.as_ref().unwrap_or(&"dead".to_owned()).trim());
|
||||||
let status = i
|
let status = i
|
||||||
.status
|
.status
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap_or(&"".to_owned())
|
.unwrap_or(&"".to_owned())
|
||||||
.trim()
|
.trim()
|
||||||
.to_owned();
|
.to_owned();
|
||||||
let image = i.image.as_ref().unwrap_or(&"".to_owned()).trim().to_owned();
|
let image = i.image.as_ref().unwrap_or(&"".to_owned()).trim().to_owned();
|
||||||
if let Some(current_container) = self.get_container_by_id(&id) {
|
if let Some(current_container) = self.get_container_by_id(id) {
|
||||||
if current_container.name != name {
|
if current_container.name != name {
|
||||||
current_container.name = name
|
current_container.name = name
|
||||||
};
|
|
||||||
if current_container.status != status {
|
|
||||||
current_container.status = status
|
|
||||||
};
|
|
||||||
if current_container.state != state {
|
|
||||||
current_container.docker_controls.items = DockerControls::gen_vec(&state);
|
|
||||||
|
|
||||||
// Update the list state, needs to be None if the gen_vec returns an empty vec
|
|
||||||
match state {
|
|
||||||
State::Removing | State::Restarting | State::Unknown => {
|
|
||||||
current_container.docker_controls.state.select(None)
|
|
||||||
}
|
|
||||||
_ => current_container.docker_controls.start(),
|
|
||||||
};
|
};
|
||||||
current_container.state = state;
|
if current_container.status != status {
|
||||||
};
|
current_container.status = status
|
||||||
if current_container.image != image {
|
};
|
||||||
current_container.image = image
|
if current_container.state != state {
|
||||||
};
|
current_container.docker_controls.items = DockerControls::gen_vec(&state);
|
||||||
} else {
|
|
||||||
let mut container = ContainerItem::new(id, status, image, state, name);
|
// Update the list state, needs to be None if the gen_vec returns an empty vec
|
||||||
container.logs.end();
|
match state {
|
||||||
self.containers.items.push(container);
|
State::Removing | State::Restarting | State::Unknown => {
|
||||||
|
current_container.docker_controls.state.select(None)
|
||||||
|
}
|
||||||
|
_ => current_container.docker_controls.start(),
|
||||||
|
};
|
||||||
|
current_container.state = state;
|
||||||
|
};
|
||||||
|
if current_container.image != image {
|
||||||
|
current_container.image = image
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
let mut container =
|
||||||
|
ContainerItem::new(id.to_owned(), status, image, state, name);
|
||||||
|
container.logs.end();
|
||||||
|
self.containers.items.push(container);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user