[PATCH 2/7] Promote page._members to page.members.

Chris Lumens clumens at redhat.com
Wed Feb 27 21:18:26 UTC 2013


We're using it all over the place anyway, so there's no point keeping the
underscore on it.  Also I gave CreateNewPage a members attr as well, so there's
no need to test for it anymore.
---
 pyanaconda/ui/gui/spokes/custom.py        | 19 ++++++++-----------
 pyanaconda/ui/gui/spokes/lib/accordion.py | 15 ++++++++-------
 2 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py
index bb72697..13fa160 100644
--- a/pyanaconda/ui/gui/spokes/custom.py
+++ b/pyanaconda/ui/gui/spokes/custom.py
@@ -797,7 +797,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
         """ Add an entry for device to the new install Page. """
         page = self._accordion._find_by_title(self.translated_new_install_name).get_child()
         devices = [device]
-        if not hasattr(page, "_members"):
+        if page.members:
             # remove the CreateNewPage and replace it with a regular Page
             expander = self._accordion._find_by_title(self.translated_new_install_name)
             expander.remove(expander.get_child())
@@ -820,10 +820,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
         """ Update all btrfs selectors' size properties. """
         # we're only updating selectors in the new root. problem?
         page = self._accordion._find_by_title(self.translated_new_install_name).get_child()
-        if not hasattr(page, "_members"):
-            return
-
-        for selector in page._members:
+        for selector in page.members:
             if selector._device.type.startswith("btrfs"):
                 selectorFromDevice(selector._device, selector=selector)
 
@@ -1242,14 +1239,14 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
                         # first, remove this selector from any old install page(s)
                         new_selector = None
                         for page in self._accordion.allPages:
-                            for _selector in getattr(page, "_members", []):
+                            for _selector in page.members:
                                 if _selector._device in (device, old_device):
                                     if page.pageTitle == self.translated_new_install_name:
                                         new_selector = _selector
                                         continue
 
                                     page.removeSelector(_selector)
-                                    if not page._members:
+                                    if not page.members:
                                         log.debug("removing empty page %s" % page.pageTitle)
                                         self._accordion.removePage(page.pageTitle)
 
@@ -1824,14 +1821,14 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
             page = self._accordion.currentPage()
 
         log.debug("show first mountpoint: %s" % getattr(page, "pageTitle", None))
-        if getattr(page, "_members", []):
+        if page.members:
             if mountpoint:
-                for member in page._members:
+                for member in page.members:
                     if member.get_property("mountpoint") == mountpoint:
                         self.on_selector_clicked(member)
                         break
             else:
-                self.on_selector_clicked(page._members[0])
+                self.on_selector_clicked(page.members[0])
         else:
             self._current_selector = None
 
@@ -1879,7 +1876,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
                     return
 
             if dialog.deleteAll:
-                for dev in [s._device for s in page._members]:
+                for dev in [s._device for s in page.members]:
                     self._destroy_device(dev)
             else:
                 self._destroy_device(device)
diff --git a/pyanaconda/ui/gui/spokes/lib/accordion.py b/pyanaconda/ui/gui/spokes/lib/accordion.py
index d0d1a83..464febe 100644
--- a/pyanaconda/ui/gui/spokes/lib/accordion.py
+++ b/pyanaconda/ui/gui/spokes/lib/accordion.py
@@ -130,7 +130,7 @@ class Accordion(Gtk.Box):
 
     @property
     def allSelectors(self):
-        return [s for p in self.allPages for s in getattr(p, "_members", [])]
+        return [s for p in self.allPages for s in p.members]
 
     def currentPage(self):
         for e in self._expanders:
@@ -194,7 +194,7 @@ class Page(Gtk.Box):
         self._systemBox.add(self._make_category_label(_("SYSTEM")))
         self.add(self._systemBox)
 
-        self._members = []
+        self.members = []
         self.pageTitle = title
 
     def _make_category_label(self, name):
@@ -208,7 +208,7 @@ class Page(Gtk.Box):
         selector = selectorFromDevice(device, mountpoint=mountpoint)
         selector.connect("button-press-event", self._onSelectorClicked, cb)
         selector.connect("key-release-event", self._onSelectorClicked, cb)
-        self._members.append(selector)
+        self.members.append(selector)
 
         if self._mountpointType(selector.props.mountpoint) == DATA_DEVICE:
             self._dataBox.add(selector)
@@ -223,7 +223,7 @@ class Page(Gtk.Box):
         else:
             self._systemBox.remove(selector)
 
-        self._members.remove(selector)
+        self.members.remove(selector)
 
     def _mountpointType(self, mountpoint):
         if not mountpoint:
@@ -253,7 +253,7 @@ class UnknownPage(Page):
     def __init__(self, title):
         # For this type of page, there's only one place to store members.
         Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6)
-        self._members = []
+        self.members = []
         self.pageTitle = title
 
     def addSelector(self, device, cb, mountpoint=""):
@@ -261,14 +261,14 @@ class UnknownPage(Page):
         selector.connect("button-press-event", self._onSelectorClicked, cb)
         selector.connect("key-release-event", self._onSelectorClicked, cb)
 
-        self._members.append(selector)
+        self.members.append(selector)
         self.add(selector)
 
         return selector
 
     def removeSelector(self, selector):
         self.remove(selector)
-        self._members.remove(selector)
+        self.members.remove(selector)
 
 # This is a special Page that is displayed when no new installation has been automatically
 # created, and shows the user how to go about doing that.  The intention is that an instance
@@ -277,6 +277,7 @@ class UnknownPage(Page):
 class CreateNewPage(Page):
     def __init__(self, title, cb, partitionsToReuse=True):
         Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6)
+        self.members = []
         self.pageTitle = title
 
         # Create a box where we store the "Here's how you create a new blah" info.
-- 
1.8.1.2



More information about the anaconda-patches mailing list