Remove delays with 0

This commit is contained in:
Felix Van der Jeugt 2020-08-20 11:54:15 +02:00
parent e071340930
commit a93d6b56ba
No known key found for this signature in database
GPG key ID: 58B209295023754D
3 changed files with 30 additions and 10 deletions

View file

@ -4,6 +4,7 @@ periodic_hook_frequency = 60
edit_headers_blacklist = Content-Type, MIME-Version
attachment_prefix = /data/temporary
prefer_plaintext = True
thread_authors_replace_me = False
editor_cmd = st -e vis
@ -93,6 +94,7 @@ theme = "mutt"
7 = call hooks.delay(ui,7)
8 = call hooks.delay(ui,8)
9 = call hooks.delay(ui,9)
0 = call hooks.delay(ui,0)
i = call hooks.spam(ui)
[[thread]]
@ -110,6 +112,7 @@ theme = "mutt"
7 = call hooks.delay(ui,7)
8 = call hooks.delay(ui,8)
9 = call hooks.delay(ui,9)
0 = call hooks.delay(ui,0)
i = call hooks.spam(ui)
[tags]

View file

@ -1,17 +1,34 @@
#!/usr/bin/env python3
from datetime import date, timedelta
from alot.buffers import EnvelopeBuffer
from alot.db.envelope import Envelope
from alot.settings.const import settings
async def delay(ui, days):
from datetime import date, timedelta
datestr = str(date.today() + timedelta(days=days))
await ui.apply_commandline(f'toggletags inbox,delay,delay/{datestr}')
datetag = 'delay/' + str(date.today() + timedelta(days=days))
if ui.current_buffer.modename == 'search':
messages = ui.current_buffer.get_selected_thread().get_messages().keys()
elif ui.current_buffer.modename == 'thread':
messages = [ ui.current_buffer.get_selected_message() ]
if days != 0:
for message in messages:
if 'inbox' in message.get_tags():
message.add_tags(['delay', datetag])
await ui.apply_commandline('untag inbox,unread')
else:
for message in messages:
if 'delay' in message.get_tags():
message.remove_tags([t for t in message.get_tags() if t.startswith('delay')])
message.add_tags(['inbox'])
await ui.apply_commandline('untag delay,delay/*')
async def spam(ui):
from alot.buffers import EnvelopeBuffer
from alot.db.envelope import Envelope
from alot.settings.const import settings
message = ui.current_buffer.get_selected_message()
message.add_tags(['spam'])
message.remove_tags(['unread'])
message.remove_tags(['unread', 'inbox'])
if 'ugent' in message.get_tags():
envelope = Envelope(
headers=dict(