handle more imap server failures
This commit is contained in:
parent
410ea2902b
commit
ddbcd61aa4
16
ocrloader.py
16
ocrloader.py
|
@ -126,10 +126,18 @@ while True:
|
|||
M.login(section, cfg.get(section, 'password'))
|
||||
except imaplib.IMAP4.error:
|
||||
continue
|
||||
try:
|
||||
M.select()
|
||||
except socket.error:
|
||||
logging.error('failure talking to imap server')
|
||||
continue
|
||||
typ, data = M.search(None, '(NOT SEEN)')
|
||||
for num in data[0].split():
|
||||
try:
|
||||
typ, data = M.fetch(num, '(RFC822)')
|
||||
except socket.error:
|
||||
logging.error('failure talking to imap server')
|
||||
break
|
||||
msg = email.parser.Parser().parsestr(data[0][1])
|
||||
enable_ocr = True
|
||||
if 'disable_ocr' in msg['Subject']:
|
||||
|
@ -141,10 +149,18 @@ while True:
|
|||
payload = part.get_payload(decode=True)
|
||||
if not process(dict(cfg.items(section)), filename, payload, enable_ocr):
|
||||
logging.error(' error -> marking as unseen')
|
||||
try:
|
||||
M.store(num, '-FLAGS', r'\Seen')
|
||||
except socket.error:
|
||||
logging.error('failure talking to imap server')
|
||||
pass
|
||||
break
|
||||
try:
|
||||
M.close()
|
||||
M.logout()
|
||||
except socket.error:
|
||||
logging.error('failure talking to imap server')
|
||||
pass
|
||||
|
||||
logging.debug('waiting a bit %s', time.strftime('%Y-%m-%d %H:%M:%S'))
|
||||
time.sleep(30)
|
||||
|
|
Reference in New Issue