[PATCH 07/21] Add a method to produce a deep copy of a Storage instance.
David Lehman
dlehman at redhat.com
Thu Aug 9 19:28:26 UTC 2012
---
pyanaconda/storage/__init__.py | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/pyanaconda/storage/__init__.py b/pyanaconda/storage/__init__.py
index c8c2730..f73ee58 100644
--- a/pyanaconda/storage/__init__.py
+++ b/pyanaconda/storage/__init__.py
@@ -26,6 +26,7 @@ import stat
import errno
import sys
import statvfs
+import copy
import nss.nss
import parted
@@ -2077,6 +2078,20 @@ class Storage(object):
fmt_args=fmt_args)
self.createDevice(device)
+ def copy(self):
+ new = copy.deepcopy(self)
+ # go through and re-get partedPartitions from the disks since they
+ # don't get deep-copied
+ for partition in new.partitions:
+ if not partition._partedPartition:
+ continue
+
+ p = partition.disk.format.partedDisk.getPartitionByPath(partition.path)
+ partition.partedPartition = p
+
+ return new
+
+
def mountExistingSystem(fsset, rootEnt,
allowDirty=None, dirtyCB=None,
readOnly=None):
--
1.7.7.6
More information about the anaconda-patches
mailing list