Make dblink.setfile() write environment.bz2 in binary mode.
authorZac Medico <zmedico@gentoo.org>
Sat, 4 Jul 2009 20:33:46 +0000 (20:33 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 4 Jul 2009 20:33:46 +0000 (20:33 -0000)
svn path=/main/trunk/; revision=13786

pym/portage/dbapi/vartree.py

index 5b6f54a6a09f3f0df8d01e391894f64502251b52..a5b39e317f6436ff99cc317c424246e7423eb0b2 100644 (file)
@@ -4017,7 +4017,10 @@ class dblink(object):
                return mydata
 
        def setfile(self,fname,data):
-               write_atomic(os.path.join(self.dbdir, fname), data)
+               mode = 'w'
+               if fname == 'environment.bz2' or not isinstance(data, basestring):
+                       mode = 'wb'
+               write_atomic(os.path.join(self.dbdir, fname), data, mode=mode)
 
        def getelements(self,ename):
                if not os.path.exists(self.dbdir+"/"+ename):