[PATCH 01/10] Allow subclasses to inherit ksdata classes.
David Lehman
dlehman at redhat.com
Tue Jun 25 20:37:51 UTC 2013
---
blivet/__init__.py | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/blivet/__init__.py b/blivet/__init__.py
index 1211636..06d72b5 100644
--- a/blivet/__init__.py
+++ b/blivet/__init__.py
@@ -2034,26 +2034,24 @@ class Blivet(object):
return
# custom storage
-
- dataMap = {PartitionDevice: "PartData",
- LVMLogicalVolumeDevice: "LogVolData",
- LVMVolumeGroupDevice: "VolGroupData",
- MDRaidArrayDevice: "RaidData",
- BTRFSDevice: "BTRFSData"}
-
- listMap = {PartitionDevice: "partition",
- LVMLogicalVolumeDevice: "logvol",
- LVMVolumeGroupDevice: "volgroup",
- MDRaidArrayDevice: "raid",
- BTRFSDevice: "btrfs"}
+ ksMap = {PartitionDevice: ("PartData", "partition"),
+ LVMLogicalVolumeDevice: ("LogVolData", "logvol"),
+ LVMVolumeGroupDevice: ("VolGroupData", "volgroup"),
+ MDRaidArrayDevice: ("RaidData", "raid"),
+ BTRFSDevice: ("BTRFSData", "btrfs")}
# make a list of ancestors of all used devices
devices = list(set(a for d in self.mountpoints.values() + self.swaps
for a in d.ancestors))
devices.sort(key=lambda d: len(d.ancestors))
for device in devices:
- class_attr = dataMap.get(device.__class__)
- list_attr = listMap.get(device.__class__)
+ class_attr = None
+ list_attr = None
+ for cls in ksMap.iterkeys():
+ if isinstance(device, cls):
+ class_attr, list_attr = ksMap[cls]
+ break
+
if not class_attr or not list_attr:
log.info("omitting ksdata: %s" % device)
continue
--
1.8.1.4
More information about the anaconda-patches
mailing list