cosmetic
[bootmanager.git] / source / steps / InstallPartitionDisks.py
index 81d100d..e40a233 100644 (file)
@@ -183,20 +183,27 @@ def single_partition_device( device, vars, log ):
     """
 
     # two forms, depending on which version of pyparted we have
+    # v1 does not have a 'version' method
+    # v2 and above does, but to make it worse, 
+    # parted-3.4 on f14 has parted.version broken and raises SystemError
     try:
-        version=parted.version()
+        parted.version()
         return single_partition_device_2_x (device, vars, log)
-    except:
+    except AttributeError:
+        # old parted does not have version at all
         return single_partition_device_1_x (device, vars, log)
-
-        
+    except SystemError:
+        # let's assume this is >=2
+        return single_partition_device_2_x (device, vars, log)
+    except:
+        raise
 
 def single_partition_device_1_x ( device, vars, log):
     
     lvm_flag= parted.partition_flag_get_by_name('lvm')
     
     try:
-        print >>log, "Using pyparted 1.x"
+        log.write("Using pyparted 1.x\n")
         # wipe the old partition table
         utils.sysexec( "dd if=/dev/zero of=%s bs=512 count=1" % device, log )
 
@@ -239,7 +246,7 @@ def single_partition_device_1_x ( device, vars, log):
 
 def single_partition_device_2_x ( device, vars, log):
     try:
-        print >>log, "Using pyparted 2.x"
+        log.write("Using pyparted 2.x\n")
         # wipe the old partition table
         utils.sysexec( "dd if=/dev/zero of=%s bs=512 count=1" % device, log )
         # get the device