]> code.delx.au - offlineimap/blobdiff - offlineimap/repository/LocalStatus.py
Make makefolder use same temporary name as folder/LocalStatus/save
[offlineimap] / offlineimap / repository / LocalStatus.py
index 45ec047f6ac1b3ba21a9d988aa8712d7ebf4ef20..048026d4f7476367874cbad59fc259fc941b86bf 100644 (file)
 #
 #    You should have received a copy of the GNU General Public License
 #    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 
 from Base import BaseRepository
 from offlineimap import folder
+import offlineimap.folder.LocalStatus
 import os, re
 
 class LocalStatusRepository(BaseRepository):
@@ -37,9 +38,14 @@ class LocalStatusRepository(BaseRepository):
         return os.path.join(self.directory, foldername)
 
     def makefolder(self, foldername):
-        # "touch" the file.
-        file = open(self.getfolderfilename(foldername), "ab")
+        # "touch" the file, truncating it.
+        filename = self.getfolderfilename(foldername)
+        file = open(filename + ".tmp", "wb")
+        file.write(offlineimap.folder.LocalStatus.magicline + '\n')
         file.close()
+        os.unlink(filename)
+        os.rename(filename + ".tmp", filename)
+        
         # Invalidate the cache.
         self.folders = None