Changeset 195:f9d8c6ff0784

Show
Ignore:
Timestamp:
01/14/11 13:42:24 (16 months ago)
Author:
Menno Smits <menno@…>
Branch:
default
Message:

Handle [None] response in fetch response parser

Location:
imapclient
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • imapclient/imapclient.py

    r194 r195  
    508508        self._checkok('fetch', typ, data) 
    509509        typ, data = self._imap._untagged_response(typ, data, 'FETCH') 
    510         # appears to be a special case - no 'untagged' responses (ie, no 
    511         # folders) results in [None] 
    512         if data == [None]: 
    513           return {} 
    514  
    515510        return parse_fetch_response(data) 
    516511 
     
    638633            typ, data = self._imap.store(msg_list, cmd, flag_list) 
    639634        self._checkok('store', typ, data) 
    640  
    641635        return self._flatten_dict(parse_fetch_response((data))) 
    642636 
  • imapclient/response_parser.py

    r185 r195  
    5050    keyed by FETCH field type (eg."RFC822"). 
    5151    """ 
     52    if text == [None]: 
     53        return {} 
    5254    response = gen_parsed_response(text) 
    5355 
  • imapclient/test/test_response_parser.py

    r183 r195  
    205205 
    206206 
     207    def test_none_special_case(self): 
     208        self.assertEquals(parse_fetch_response([None]), {}) 
     209 
     210 
    207211    def test_bad_msgid(self): 
    208212        self.assertRaises(ParseError, parse_fetch_response, ['abc ()'])