archive working better with listcomps
This commit is contained in:
@@ -27,7 +27,7 @@ async def archive_current(app) -> None:
|
||||
app.show_status(f"{stdout.decode()}", "info")
|
||||
logging.info(stdout.decode())
|
||||
if process.returncode == 0:
|
||||
await app.query_one(ListView).pop(index)
|
||||
app.query_one(ListView).pop(index)
|
||||
app.query_one(ListView).index = index
|
||||
# app.action_next() # Automatically show the next message
|
||||
else:
|
||||
|
||||
@@ -500,15 +500,14 @@ class EmailViewerApp(App):
|
||||
self.show_message(newmsg["id"])
|
||||
|
||||
async def action_archive(self) -> None:
|
||||
self.query_one("#envelopes_list").pop(self.current_message_index)
|
||||
self.all_envelopes = list(
|
||||
filter(
|
||||
lambda x: int(x.get("id", "0")) != self.current_message_id,
|
||||
self.all_envelopes,
|
||||
)
|
||||
)
|
||||
self.message_metadata.pop(self.current_message_id, None)
|
||||
self.message_body_cache.pop(self.current_message_id, None)
|
||||
# self.query_one("#envelopes_list").pop(self.current_message_index)
|
||||
self.all_envelopes = [item for item in self.all_envelopes if item and item.get("id") != self.current_message_id]
|
||||
self.message_metadata = {
|
||||
k: v for k, v in self.message_metadata.items() if k != self.current_message_id
|
||||
}
|
||||
self.message_body_cache = {
|
||||
k: v for k, v in self.message_body_cache.items() if k != self.current_message_id
|
||||
}
|
||||
self.total_messages = len(self.message_metadata)
|
||||
worker = archive_current(self)
|
||||
await worker.wait()
|
||||
|
||||
Reference in New Issue
Block a user