Подключил библиотеку ImapLibrary, но когда использую метод Wait for mail и при этом на почте нет новых писем, то тест падает с ошибкой: AttributeError: ‘NoneType’ object has no attribute ‘split’
Происходит это т.к. msgnums принимает значение None.
О чем сказано тут
IMAP4.recent()
Prompt server for an update. Returned data is None if no new messages, else value of RECENT response.
Кусок из библиотеки
def wait_for_mail(self, fromEmail=None, toEmail=None, status=None,
timeout=60):
"""
Wait for an incoming mail from a specific sender to
a specific mail receiver. Check the mailbox every 10
seconds for incoming mails until the timeout is exceeded.
Returns the mail number of the latest email received.
`timeout` sets the maximum waiting time until an error
is raised.
"""
timeout = int(timeout)
while (timeout > 0):
self.imap.recent()
self.mails = self._check_emails(fromEmail, toEmail, status)
if len(self.mails) > 0:
return self.mails[-1]
timeout -= 10
if timeout > 0:
time.sleep(10)
raise AssertionError("No mail received within time")
def _check_emails(self, fromEmail, toEmail, status):
crit = self._criteria(fromEmail, toEmail, status)
type, msgnums = self.imap.search(None, *crit)
if str(msgnums) == "[None]":
warnings.warn(str(msgnums))
return msgnums[0].split()
Помогите, пожалуйста, решить эту проблему и заставить работать ожидание новых писем