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