[blivet:master 3/8] Factor canonicalizeUUID() into separate method.

mulhern amulhern at redhat.com
Tue Jul 15 21:35:02 UTC 2014


Signed-off-by: mulhern <amulhern at redhat.com>
---
 blivet/devicelibs/mdraid.py | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/blivet/devicelibs/mdraid.py b/blivet/devicelibs/mdraid.py
index c71dd84..af04aa2 100644
--- a/blivet/devicelibs/mdraid.py
+++ b/blivet/devicelibs/mdraid.py
@@ -221,6 +221,22 @@ def mddeactivate(device):
     except MDRaidError as msg:
         raise MDRaidError("mddeactivate failed for %s: %s" % (device, msg))
 
+def canonicalizeUUID(a_uuid):
+    """ Converts uuids to canonical form.
+
+        :param str a_uuid: the UUID
+
+        :returns: a canonicalized UUID
+        :rtype: str
+
+        mdadm's UUIDs are actual 128 bit uuids, but it formats them strangely.
+        This converts the uuids to canonical form.
+        Example:
+            mdadm UUID: '3386ff85:f5012621:4a435f06:1eb47236'
+        canonical UUID: '3386ff85-f501-2621-4a43-5f061eb47236'
+    """
+    return str(uuid.UUID(a_uuid.replace(':', '')))
+
 def mdexamine(device):
     _vars = util.capture_output(["mdadm",
                                  "--examine", "--export", device]).split()
@@ -248,13 +264,8 @@ def mdexamine(device):
             if name == "metadata":
                 info["MD_METADATA"] = value
 
-    # mdadm's UUIDs are actual 128 bit uuids, but it formats them strangely.
-    # This converts the uuids to canonical form.
-    # Example:
-    #     mdadm UUID: '3386ff85:f5012621:4a435f06:1eb47236'
-    # canonical UUID: '3386ff85-f501-2621-4a43-5f061eb47236'
     for k, v in ((k,v) for (k,v) in info.iteritems() if k.endswith("UUID")):
-        info[k] = str(uuid.UUID(v.replace(':', '')))
+        info[k] = canonicalizeUUID(v)
 
     return info
 
-- 
1.9.3



More information about the anaconda-patches mailing list