[Checkins] SVN: ZODB/branches/3.8/src/ZODB/ Fixed more windows issues

Jim Fulton jim at zope.com
Fri Sep 19 09:52:03 EDT 2008


Log message for revision 91267:
  Fixed more windows issues

Changed:
  U   ZODB/branches/3.8/src/ZODB/blob.py
  U   ZODB/branches/3.8/src/ZODB/scripts/migrateblobs.py
  U   ZODB/branches/3.8/src/ZODB/tests/blob_layout.txt

-=-
Modified: ZODB/branches/3.8/src/ZODB/blob.py
===================================================================
--- ZODB/branches/3.8/src/ZODB/blob.py	2008-09-19 13:28:31 UTC (rev 91266)
+++ ZODB/branches/3.8/src/ZODB/blob.py	2008-09-19 13:52:02 UTC (rev 91267)
@@ -325,9 +325,8 @@
                 os.path.join(self.base_dir, LAYOUT_MARKER), 'wb')
             layout_marker.write(self.layout_name)
         else:
-            layout_marker = open(
-                os.path.join(self.base_dir, LAYOUT_MARKER), 'rb')
-            layout = layout_marker.read().strip()
+            layout = open(os.path.join(self.base_dir, LAYOUT_MARKER), 'rb'
+                          ).read().strip()
             if layout != self.layout_name:
                 raise ValueError(
                     "Directory layout `%s` selected for blob directory %s, but "

Modified: ZODB/branches/3.8/src/ZODB/scripts/migrateblobs.py
===================================================================
--- ZODB/branches/3.8/src/ZODB/scripts/migrateblobs.py	2008-09-19 13:28:31 UTC (rev 91266)
+++ ZODB/branches/3.8/src/ZODB/scripts/migrateblobs.py	2008-09-19 13:52:02 UTC (rev 91267)
@@ -17,6 +17,7 @@
 import logging
 import optparse
 import os
+import shutil
 
 from ZODB.blob import FilesystemHelper, rename_or_copy_blob
 from ZODB.utils import cp, oid_repr
@@ -28,6 +29,12 @@
     except OSError:
         shutil.copy(f1, f2)
 
+# Check if we actually have link
+try:
+    os.link
+except AttributeError:
+    link_or_copy = shutil.copy
+    
 
 def migrate(source, dest, layout):
     source_fsh = FilesystemHelper(source)

Modified: ZODB/branches/3.8/src/ZODB/tests/blob_layout.txt
===================================================================
--- ZODB/branches/3.8/src/ZODB/tests/blob_layout.txt	2008-09-19 13:28:31 UTC (rev 91266)
+++ ZODB/branches/3.8/src/ZODB/tests/blob_layout.txt	2008-09-19 13:52:02 UTC (rev 91267)
@@ -29,9 +29,12 @@
 >>> bushy.oid_to_path('\x00\x00\x00\x00\x00\x00\x00\x01')
 '0x00/0x00/0x00/0x00/0x00/0x00/0x00/0x01'
 
->>> bushy.path_to_oid('0x01/0x00/0x00/0x00/0x00/0x00/0x00/0x00')
+>>> import os
+>>> bushy.path_to_oid(os.path.join(
+...     '0x01', '0x00', '0x00', '0x00', '0x00', '0x00', '0x00', '0x00'))
 '\x01\x00\x00\x00\x00\x00\x00\x00'
->>> bushy.path_to_oid('0xff/0x00/0x00/0x00/0x00/0x00/0x00/0x00')
+>>> bushy.path_to_oid(os.path.join(
+...     '0xff', '0x00', '0x00', '0x00', '0x00', '0x00', '0x00', '0x00'))
 '\xff\x00\x00\x00\x00\x00\x00\x00'
 
 Paths that do not represent an OID will cause a ValueError:
@@ -142,8 +145,8 @@
 'lawn'
 >>> fsh.create() # doctest: +ELLIPSIS
 Traceback (most recent call last):
-ValueError: Directory layout `lawn` selected for blob directory /.../blobs/, but marker found for layout `bushy`
->>> shutil.rmtree(blobs)
+ValueError: Directory layout `lawn` selected for blob directory .../blobs/, but marker found for layout `bushy`
+>>> rmtree(blobs)
 
 This function interacts with the automatic detection in the way, that an
 unmarked directory will be marked the first time when it is auto-guessed and
@@ -163,10 +166,11 @@
 'lawn'
 >>> blob_storage = BlobStorage(blobs, base_storage, layout='bushy') # doctest: +ELLIPSIS
 Traceback (most recent call last):
-ValueError: Directory layout `bushy` selected for blob directory /.../blobs/, but marker found for layout `lawn`
+ValueError: Directory layout `bushy` selected for blob directory .../blobs/, but marker found for layout `lawn`
 
 
->>> shutil.rmtree(d)
+>>> base_storage.close()
+>>> rmtree(d)
 
 
 Migrating between directory layouts
@@ -206,7 +210,7 @@
 
 >>> bushy = os.path.join(d, 'bushy')
 >>> migrate(old, bushy, 'bushy')  # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-Migrating blob data from `/.../old` (lawn) to `/.../bushy` (bushy)
+Migrating blob data from `.../old` (lawn) to `.../bushy` (bushy)
     OID: 0x0a - 2 files
     OID: 0x1b7a - 2 files
     OID: 0x1b7f - 2 files
@@ -248,7 +252,7 @@
 
 >>> lawn = os.path.join(d, 'lawn')
 >>> migrate(bushy, lawn, 'lawn')
-Migrating blob data from `/.../bushy` (bushy) to `/.../lawn` (lawn)
+Migrating blob data from `.../bushy` (bushy) to `.../lawn` (lawn)
    OID: 0x0a - 2 files
    OID: 0x1b7a - 2 files
    OID: 0x1b7f - 2 files
@@ -278,4 +282,4 @@
 bushy/0x00/0x00/0x00/0x00/0x00/0x00/0x1b/0x7a/foo5 --> lawn/0x1b7a/foo5
 bushy/0x00/0x00/0x00/0x00/0x00/0x00/0x1b/0x7a/foo6 --> lawn/0x1b7a/foo6
 
->>> shutil.rmtree(d)
+>>> rmtree(d)



More information about the Checkins mailing list