[Checkins] SVN: zope.fssync/trunk/src/zope/fssync/ Make sure metadata is written in binary mode

Dmitry Vasiliev dima at hlabs.spb.ru
Wed May 16 03:49:26 EDT 2007


Log message for revision 75796:
  Make sure metadata is written in binary mode

Changed:
  U   zope.fssync/trunk/src/zope/fssync/metadata.py
  U   zope.fssync/trunk/src/zope/fssync/tests/tempfiles.py
  U   zope.fssync/trunk/src/zope/fssync/tests/test_metadata.py

-=-
Modified: zope.fssync/trunk/src/zope/fssync/metadata.py
===================================================================
--- zope.fssync/trunk/src/zope/fssync/metadata.py	2007-05-16 06:30:22 UTC (rev 75795)
+++ zope.fssync/trunk/src/zope/fssync/metadata.py	2007-05-16 07:49:24 UTC (rev 75796)
@@ -121,7 +121,7 @@
         data = dump_entries(live)
         if not exists(self.zdir):
             os.makedirs(self.zdir)
-        f = open(self.efile, "w")
+        f = open(self.efile, "wb")
         try:
             f.write(data)
         finally:
@@ -220,7 +220,7 @@
                     "<entries> must be the document element")
         else:
             raise InvalidEntriesFile("unknown element <%s>" % name)
-      
+
         self.stack.append(name)
 
     def endElement(self, name):

Modified: zope.fssync/trunk/src/zope/fssync/tests/tempfiles.py
===================================================================
--- zope.fssync/trunk/src/zope/fssync/tests/tempfiles.py	2007-05-16 06:30:22 UTC (rev 75795)
+++ zope.fssync/trunk/src/zope/fssync/tests/tempfiles.py	2007-05-16 07:49:24 UTC (rev 75796)
@@ -42,7 +42,7 @@
         os.mkdir(dir)
         return dir
 
-    def tempfile(self, data=None, mode="w"):
+    def tempfile(self, data=None, mode="wb"):
         """Create and register a temporary file."""
         tfn = tempfile.mktemp()
         self.tempnames.append(tfn)
@@ -50,14 +50,14 @@
             self.writefile(data, tfn, mode)
         return tfn
 
-    def cmpfile(self, fn1, fn2, mode="r"):
+    def cmpfile(self, fn1, fn2, mode="rb"):
         """Compare two files for equality; they must exist."""
         assert mode in ("r", "rb")
-        data1 = self.readfile(fn1)
-        data2 = self.readfile(fn2)
+        data1 = self.readfile(fn1, mode)
+        data2 = self.readfile(fn2, mode)
         return data1 == data2
 
-    def readfile(self, fn, mode="r"):
+    def readfile(self, fn, mode="rb"):
         """Read data from a given file."""
         assert mode in ("r", "rb")
         f = open(fn, mode)
@@ -67,7 +67,7 @@
             f.close()
         return data
 
-    def writefile(self, data, fn, mode="w"):
+    def writefile(self, data, fn, mode="wb"):
         """Write data to a given file."""
         assert mode in ("w", "wb")
         self.ensuredir(os.path.dirname(fn))

Modified: zope.fssync/trunk/src/zope/fssync/tests/test_metadata.py
===================================================================
--- zope.fssync/trunk/src/zope/fssync/tests/test_metadata.py	2007-05-16 06:30:22 UTC (rev 75795)
+++ zope.fssync/trunk/src/zope/fssync/tests/test_metadata.py	2007-05-16 07:49:24 UTC (rev 75796)
@@ -58,6 +58,7 @@
         efile = join(dir, "@@Zope", "Entries.xml")
         self.assert_(isfile(efile))
         data = self.readfile(efile)
+        self.assert_(data.endswith("</entries>\n"))
         entries = load_entries(data)
         self.assertEqual(entries, {"foo": {"hello": "world"}})
         md.getentry(foo).clear()



More information about the Checkins mailing list