refactor: update_all_containers filter_map running
This commit is contained in:
+14
-13
@@ -193,12 +193,13 @@ impl DockerData {
|
|||||||
let current_sort = self.app_data.lock().get_sorted();
|
let current_sort = self.app_data.lock().get_sorted();
|
||||||
self.app_data.lock().set_sorted(current_sort);
|
self.app_data.lock().set_sorted(current_sort);
|
||||||
|
|
||||||
|
// Just get the containers that are currently running, no point updating info on paused or dead containers
|
||||||
output
|
output
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|i| {
|
.filter_map(|i| {
|
||||||
i.id.as_ref().map(|id| {
|
i.id.as_ref().map(|id| {
|
||||||
(
|
(
|
||||||
i.state.as_ref().unwrap_or(&String::new()) == "running",
|
i.state == Some("running".to_owned()),
|
||||||
id.clone(),
|
id.clone(),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@@ -331,53 +332,53 @@ impl DockerData {
|
|||||||
match message {
|
match message {
|
||||||
DockerMessage::Pause(id) => {
|
DockerMessage::Pause(id) => {
|
||||||
let loading_spin = self.loading_spin().await;
|
let loading_spin = self.loading_spin().await;
|
||||||
docker.pause_container(&id).await.unwrap_or_else(|_| {
|
if docker.pause_container(&id).await.is_err() {
|
||||||
app_data
|
app_data
|
||||||
.lock()
|
.lock()
|
||||||
.set_error(AppError::DockerCommand(DockerControls::Pause));
|
.set_error(AppError::DockerCommand(DockerControls::Pause));
|
||||||
});
|
};
|
||||||
self.stop_loading_spin(&loading_spin);
|
self.stop_loading_spin(&loading_spin);
|
||||||
}
|
}
|
||||||
DockerMessage::Restart(id) => {
|
DockerMessage::Restart(id) => {
|
||||||
let loading_spin = self.loading_spin().await;
|
let loading_spin = self.loading_spin().await;
|
||||||
docker
|
if docker
|
||||||
.restart_container(&id, None)
|
.restart_container(&id, None)
|
||||||
.await
|
.await
|
||||||
.unwrap_or_else(|_| {
|
.is_err() {
|
||||||
app_data
|
app_data
|
||||||
.lock()
|
.lock()
|
||||||
.set_error(AppError::DockerCommand(DockerControls::Restart));
|
.set_error(AppError::DockerCommand(DockerControls::Restart));
|
||||||
});
|
};
|
||||||
self.stop_loading_spin(&loading_spin);
|
self.stop_loading_spin(&loading_spin);
|
||||||
}
|
}
|
||||||
DockerMessage::Start(id) => {
|
DockerMessage::Start(id) => {
|
||||||
let loading_spin = self.loading_spin().await;
|
let loading_spin = self.loading_spin().await;
|
||||||
docker
|
if docker
|
||||||
.start_container(&id, None::<StartContainerOptions<String>>)
|
.start_container(&id, None::<StartContainerOptions<String>>)
|
||||||
.await
|
.await
|
||||||
.unwrap_or_else(|_| {
|
.is_err() {
|
||||||
app_data
|
app_data
|
||||||
.lock()
|
.lock()
|
||||||
.set_error(AppError::DockerCommand(DockerControls::Start));
|
.set_error(AppError::DockerCommand(DockerControls::Start));
|
||||||
});
|
};
|
||||||
self.stop_loading_spin(&loading_spin);
|
self.stop_loading_spin(&loading_spin);
|
||||||
}
|
}
|
||||||
DockerMessage::Stop(id) => {
|
DockerMessage::Stop(id) => {
|
||||||
let loading_spin = self.loading_spin().await;
|
let loading_spin = self.loading_spin().await;
|
||||||
docker.stop_container(&id, None).await.unwrap_or_else(|_| {
|
if docker.stop_container(&id, None).await.is_err() {
|
||||||
app_data
|
app_data
|
||||||
.lock()
|
.lock()
|
||||||
.set_error(AppError::DockerCommand(DockerControls::Stop));
|
.set_error(AppError::DockerCommand(DockerControls::Stop));
|
||||||
});
|
};
|
||||||
self.stop_loading_spin(&loading_spin);
|
self.stop_loading_spin(&loading_spin);
|
||||||
}
|
}
|
||||||
DockerMessage::Unpause(id) => {
|
DockerMessage::Unpause(id) => {
|
||||||
let loading_spin = self.loading_spin().await;
|
let loading_spin = self.loading_spin().await;
|
||||||
docker.unpause_container(&id).await.unwrap_or_else(|_| {
|
if docker.unpause_container(&id).await.is_err() {
|
||||||
app_data
|
app_data
|
||||||
.lock()
|
.lock()
|
||||||
.set_error(AppError::DockerCommand(DockerControls::Unpause));
|
.set_error(AppError::DockerCommand(DockerControls::Unpause));
|
||||||
});
|
};
|
||||||
self.stop_loading_spin(&loading_spin);
|
self.stop_loading_spin(&loading_spin);
|
||||||
self.update_everything().await;
|
self.update_everything().await;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user