It's be great to talk with Jonathan-- feel free to connect us. Thanks.
The bug I mentioned manifested itself like this:
Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 327, in run result = self._run(*self.args, **self.kwargs) File "/vagrant/inbox/mailsync/backends/imap/generic.py", line 190, in _run fail_classes=self.retry_fail_classes) File "/vagrant/inbox/util/concurrency.py", line 120, in retry_and_report_killed **reset_params)() File "/vagrant/inbox/util/concurrency.py", line 73, in wrapped return func(*args, **kwargs) File "/vagrant/inbox/mailsync/backends/imap/generic.py", line 217, in _run_impl self.state = self.state_handlers[old_state]() File "/vagrant/inbox/util/concurrency.py", line 73, in wrapped return func(*args, **kwargs) File "/vagrant/inbox/mailsync/backends/imap/generic.py", line 270, in initial_sync self.initial_sync_impl(crispin_client) File "/vagrant/inbox/mailsync/backends/imap/generic.py", line 293, in initial_sync_impl remote_uids = crispin_client.all_uids() File "/vagrant/inbox/crispin.py", line 489, in all_uids fetch_result = self.conn.search(['ALL', 'UID']) File "/usr/local/lib/python2.7/dist-packages/imapclient/imapclient.py", line 588, in search return self._search(normalise_search_criteria(criteria), charset) File "/usr/local/lib/python2.7/dist-packages/imapclient/imapclient.py", line 621, in _search for item in parse_response(data): File "/usr/local/lib/python2.7/dist-packages/imapclient/response_parser.py", line 46, in parse_response return tuple(gen_parsed_response(data)) File "/usr/local/lib/python2.7/dist-packages/imapclient/response_parser.py", line 56, in gen_parsed_response for token in src: File "/usr/local/lib/python2.7/dist-packages/imapclient/response_lexer.py", line 118, in __iter__ for tok in self.read_token_stream(iter(source)): File "/usr/local/lib/python2.7/dist-packages/imapclient/response_lexer.py", line 149, in __iter__ return PushableIterator(six.iterbytes(self.src_text)) File "/usr/local/lib/python2.7/dist-packages/imapclient/six.py", line 597, in iterbytes return (ord(byte) for byte in buf) TypeError: 'NoneType' object is not iterable <FolderSyncEngine at 0x5e4e550> failed with TypeError
But turns out Tom fixed it
here. I don't think it's yet on PyPI.