Changeset 267:06c7e9364807

Show
Ignore:
Timestamp:
18/09/11 21:42:52 (8 months ago)
Author:
Menno Smits <menno@…>
Branch:
default
Message:

Added rename_folder (#77)

Files:
3 modified

Legend:

Unmodified
Added
Removed
  • NEWS

    r266 r267  
    2222Full documentation is now available under doc/html in the source 
    2323distribution and at http://imapclient.readthedocs.org/ online. 
     24 
     25Added rename_folder (#77) [NEW]  
     26-------------------------------- 
     27Renaming of folders was an obvious omission! 
    2428 
    2529Minor Features 
  • imapclient/imapclient.py

    r265 r267  
    438438        return out 
    439439 
    440  
    441440    def close_folder(self): 
    442441        """Close the currently selected folder, returning the server 
     
    454453        return data[0] 
    455454 
     455    def rename_folder(self, old_name, new_name): 
     456        """Change the name of a folder on the server. 
     457        """ 
     458        typ, data = self._imap.rename(self._encode_folder_name(old_name), 
     459                                      self._encode_folder_name(new_name)) 
     460        self._checkok('rename', typ, data) 
     461        return data[0] 
     462         
    456463    def delete_folder(self, folder): 
    457464        """Delete *folder* on the server returning the server response string. 
  • livetest.py

    r232 r267  
    230230                self.assertFalse(self.client.folder_exists(folder)) 
    231231 
     232        def test_rename_folder(self): 
     233            test_folders = ['foobar', 
     234                            'stuff & things', 
     235                            u'test & \u2622', 
     236                            '123'] 
     237            for folder in test_folders: 
     238                self.client.create_folder(folder) 
     239 
     240                new_folder = folder + 'x' 
     241                resp = self.client.rename_folder(folder, new_folder) 
     242                self.assertIsInstance(resp, str) 
     243                self.assertTrue(len(resp) > 0) 
     244 
     245                self.assertFalse(self.client.folder_exists(folder)) 
     246                self.assertTrue(self.client.folder_exists(new_folder)) 
    232247 
    233248        def test_status(self):