summaryrefslogtreecommitdiffstats
path: root/offlineimap/.offlineimap.py
blob: 9ae081e9e7d46d171ce5af4d61c109b293de9c5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from offlineimap import imaputil
import keyring


def lld_flagsimap2maildir(flagstring):
    flagmap = {'\\seen': 'S',
               '\\answered': 'R',
               '\\flagged': 'F',
               '\\deleted': 'T',
               '\\draft': 'D',
               'gnus-expire': 'E'}
    retval = []
    imapflaglist = [x.lower() for x in flagstring[1:-1].split()]

    for imapflag in imapflaglist:
        if imapflag in flagmap:
            retval.append(flagmap[imapflag])

    retval.sort()
    return set(retval)


def lld_flagsmaildir2imap(list):
    flagmap = {'S': '\\Seen',
               'R': '\\Answered',
               'F': '\\Flagged',
               'T': '\\Deleted',
               'D': '\\Draft',
               'E': 'gnus-expire'}
    retval = []

    for mdflag in list:
        if mdflag in flagmap:
            retval.append(flagmap[mdflag])

    retval.sort()
    return '(' + ' '.join(retval) + ')'

imaputil.flagsmaildir2imap = lld_flagsmaildir2imap
imaputil.flagsimap2maildir = lld_flagsimap2maildir


def getpassword(host):
    return keyring.get_password('offlineimap', host)