Add hooks for muting and spamming mails

This commit is contained in:
Felix Van der Jeugt 2019-10-16 14:47:22 +02:00
parent 423d9b4952
commit b9bbc9d1ae
No known key found for this signature in database
GPG key ID: 58B209295023754D
3 changed files with 57 additions and 0 deletions

View file

@ -87,6 +87,16 @@ theme = "mutt"
x = toggletags spam,inbox
a = untag inbox
A = tag inbox
1 = call hooks.mute(ui,1)
2 = call hooks.mute(ui,2)
3 = call hooks.mute(ui,3)
4 = call hooks.mute(ui,4)
5 = call hooks.mute(ui,5)
6 = call hooks.mute(ui,6)
7 = call hooks.mute(ui,7)
8 = call hooks.mute(ui,8)
9 = call hooks.mute(ui,9)
i = call hooks.spam(ui)
[[thread]]
a = untag inbox ; fold
@ -94,6 +104,16 @@ theme = "mutt"
n = nextpart
p = prevpart
u = pipeto --background selecturl
1 = call hooks.mute(ui,1)
2 = call hooks.mute(ui,2)
3 = call hooks.mute(ui,3)
4 = call hooks.mute(ui,4)
5 = call hooks.mute(ui,5)
6 = call hooks.mute(ui,6)
7 = call hooks.mute(ui,7)
8 = call hooks.mute(ui,8)
9 = call hooks.mute(ui,9)
i = call hooks.spam(ui)
[tags]

View file

@ -0,0 +1,23 @@
#!/usr/bin/env python3
async def mute(ui, days):
from datetime import date, timedelta
datestr = str(date.today() + timedelta(days=days))
await ui.apply_commandline(f'toggletags inbox,muted,muted/{datestr}')
async def spam(ui):
from alot.buffers import EnvelopeBuffer
from alot.db.envelope import Envelope
message = ui.current_buffer.get_selected_message()
message.add_tags(['spam'])
message.remove_tags(['unread'])
envelope = Envelope(
headers=dict(
From=['Felix Van der Jeugt <felix.vanderjeugt@ugent.be>'],
To=['spam@ugent.be'],
Subject=['spam'],
References=['<' + message.get_message_id() + '>']),
bodytext='spam',
tags=['spam'])
envelope.attach(message.get_filename())
ui.buffer_open(EnvelopeBuffer(ui, envelope))