2 imap_check.py - An imap folder checker
4 Copyright 2006 Kenneth Hayber <ken@hayber.us>,
10 from checker
import Checker
11 class POPChecker(Checker
):
12 def __init__(self
, config
):
13 Checker
.__init
__(self
, config
)
14 self
.server
= config
['server']
15 self
.port
= int(config
['port'])
16 self
.username
= config
['username']
17 self
.password
= config
['password']
18 self
.ssl
= (config
['ssl'] == 'True')
19 self
.apop
= (config
['apop'] == 'True')
21 self
.uidls
= [] # list of uidls from last check
22 # save this to a file to prevent all messages being 'new' at startup
29 pop
= poplib
.POP3_SSL(self
.server
)
31 pop
= poplib
.POP3(self
.server
)
34 pop
.apop(self
.username
, self
.password
)
36 pop
.user(self
.username
)
37 pop
.pass_(self
.password
)
39 self
.results
= "%s (%s)\n" % (self
.name
, _('Login Error'))
40 self
.blocker
.trigger()
43 # get list of unique message ids
48 # remove the unneeded parts from the uidl results (just want the uidls)
49 uidls
= map(lambda a
: a
.split()[1], m
[1])
52 # find the new (unseen) uidls
54 if not x
in self
.uidls
:
59 self
.results
= "%s (%d/%d)\n" % (self
.name
, self
.unseen
, len(uidls
))
64 self
.blocker
.trigger()