Show
Ignore:
Timestamp:
02/08/10 13:06:35 (2 years ago)
Author:
Menno Smits <menno@…>
Branch:
default
Message:

Handle empty strings and None's in the folder list responses again

All tests passing.

Location:
imapclient
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • imapclient/imapclient.py

    r132 r135  
    205205 
    206206    def _proc_folder_list(self, folder_data): 
    207         # appears to be a special case - no 'untagged' responses (ie, no 
    208         # folders) returns [None] 
    209         if folder_data == [None]: 
    210             return [] 
     207        # Filter out empty strings and None's. 
     208        # This also deals with the special case of - no 'untagged' 
     209        # responses (ie, no folders). This comes back as [None]. 
     210        folder_data = [item for item in folder_data if item not in ('', None)] 
     211 
    211212        ret = [] 
    212213        parsed = parse_response(folder_data) 
  • imapclient/test/test_IMAPClient.py

    r133 r135  
    9797                                   (['\\HasNoChildren'], '/', r'Left\Right')]) 
    9898 
     99    def test_empty_response(self): 
     100        self.assertEqual(self.client._proc_folder_list([None]), []) 
     101 
     102 
    99103    def test_blanks(self): 
    100         folders = self.client._proc_folder_list(['', None,  
    101                                                  r'(\\HasNoChildren) "/" "last"', 
    102                                                 ]) 
    103         self.assert_(folders == ['last'], 'got %r' % folders) 
     104        folders = self.client._proc_folder_list(['', None, r'(\HasNoChildren) "/" "last"']) 
     105        self.assertEqual(folders, [([r'\HasNoChildren'], '/', 'last')]) 
    104106 
    105107