FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Marketing

 
 
LinkBack Thread Tools
 
Old 05-25-2010, 11:51 AM
Hans de Goede
 
Default Move init questions to InstallInterfaceBase

The code is identical for text mode and gui mode (except for one
copy paste error fixed by the previous commit GRRRR).
---
gui.py | 110 -----------------------------------------------
installinterfacebase.py | 110 +++++++++++++++++++++++++++++++++++++++++++++++
text.py | 110 -----------------------------------------------
3 files changed, 110 insertions(+), 220 deletions(-)

diff --git a/gui.py b/gui.py
index bf7e37f..d3423d1 100755
--- a/gui.py
+++ b/gui.py
@@ -940,8 +940,6 @@ class InstallInterface(InstallInterfaceBase):
root = gtk.gdk.get_default_root_window()
cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
root.set_cursor(cursor)
- self._initLabelAnswers = {}
- self._inconsistentLVMAnswers = {}

def __del__ (self):
pass
@@ -1173,114 +1171,6 @@ class InstallInterface(InstallInterfaceBase):
d.destroy()
return rc

- def resetInitializeDiskQuestion(self):
- self._initLabelAnswers = {}
-
- def questionInitializeDisk(self, path, description, size, details=""):
-
- retVal = False # The less destructive default
-
- if not path:
- return retVal
-
- # we are caching answers so that we don't
- # ask in each storage.reset() again
- if path in self._initLabelAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._initLabelAnswers[path])
- return self._initLabelAnswers[path]
- elif "all" in self._initLabelAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._initLabelAnswers["all"])
- return self._initLabelAnswers["all"]
-
- rc = self.messageWindow(_("Warning"),
- _("Error processing drive:

"
- "%(path)s
%(size)-0.fMB
%(description)s

"
- "This device may need to be reinitialized.

"
- "REINITIALIZING WILL CAUSE ALL DATA TO BE LOST!

"
- "This action may also be applied to all other disks "
- "needing reinitialization.%(details)s")
- % {'path': path, 'size': size,
- 'description': description, 'details': details},
- type="custom",
- custom_buttons = [ _("_Ignore"),
- _("Ignore _all"),
- _("_Re-initialize"),
- _("Re-ini_tialize all") ],
- custom_icon="question")
- if rc == 0:
- retVal = False
- elif rc == 1:
- path = "all"
- retVal = False
- elif rc == 2:
- retVal = True
- elif rc == 3:
- path = "all"
- retVal = True
-
- self._initLabelAnswers[path] = retVal
- return retVal
-
- def resetReinitInconsistentLVMQuestion(self):
- self._inconsistentLVMAnswers = {}
-
- def questionReinitInconsistentLVM(self, pv_names=None, lv_name=None, vg_name=None):
-
- retVal = False # The less destructive default
- allSet = frozenset(["all"])
-
- if not pv_names or (lv_name is None and vg_name is None):
- return retVal
-
- # We are caching answers so that we don't ask for ignoring
- # in each storage.reset() again (note that reinitialization is
- # done right after confirmation in dialog, not as a planned
- # action).
- key = frozenset(pv_names)
- if key in self._inconsistentLVMAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._inconsistentLVMAnswers[key])
- return self._inconsistentLVMAnswers[key]
- elif allSet in self._inconsistentLVMAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._inconsistentLVMAnswers[allSet])
- return self._inconsistentLVMAnswers[allSet]
-
- if vg_name is not None:
- message = "Volume Group %s" % vg_name
- elif lv_name is not None:
- message = "Logical Volume %s" % lv_name
-
- na = {'msg': message, 'pvs': ", ".join(pv_names)}
- rc = self.messageWindow(_("Warning"),
- _("Error processing LVM.
"
- "There is inconsistent LVM data on %(msg)s. You can "
- "reinitialize all related PVs (%(pvs)s) which will erase "
- "the LVM metadata, or ignore which will preserve the "
- "contents. This action may also be applied to all other "
- "PVs with inconsistent metadata.") % na,
- type="custom",
- custom_buttons = [ _("_Ignore"),
- _("Ignore _all"),
- _("_Re-initialize"),
- _("Re-ini_tialize all") ],
- custom_icon="question")
- if rc == 0:
- retVal = False
- elif rc == 1:
- key = allSet
- retVal = False
- elif rc == 2:
- retVal = True
- elif rc == 3:
- key = allSet
- retVal = True
-
- self._inconsistentLVMAnswers[key] = retVal
- return retVal
-
def beep(self):
gtk.gdk.beep()

diff --git a/installinterfacebase.py b/installinterfacebase.py
index 1adfd2a..dcf6700 100644
--- a/installinterfacebase.py
+++ b/installinterfacebase.py
@@ -25,6 +25,8 @@ P_ = lambda x, y, z: gettext.ldngettext("anaconda", x, y, z)
class InstallInterfaceBase(object):
def __init__(self):
self._warnedUnusedRaidMembers = []
+ self._initLabelAnswers = {}
+ self._inconsistentLVMAnswers = {}

def messageWindow(self, title, text, type="ok", default = None,
custom_buttons=None, custom_icon=None):
@@ -53,6 +55,114 @@ class InstallInterfaceBase(object):
", ".join(unusedRaidMembers)),
custom_icon="warning")

+ def resetInitializeDiskQuestion(self):
+ self._initLabelAnswers = {}
+
+ def questionInitializeDisk(self, path, description, size, details=""):
+
+ retVal = False # The less destructive default
+
+ if not path:
+ return retVal
+
+ # we are caching answers so that we don't
+ # ask in each storage.reset() again
+ if path in self._initLabelAnswers:
+ log.info("UI not asking about disk initialization, "
+ "using cached answer: %s" % self._initLabelAnswers[path])
+ return self._initLabelAnswers[path]
+ elif "all" in self._initLabelAnswers:
+ log.info("UI not asking about disk initialization, "
+ "using cached answer: %s" % self._initLabelAnswers["all"])
+ return self._initLabelAnswers["all"]
+
+ rc = self.messageWindow(_("Warning"),
+ _("Error processing drive:

"
+ "%(path)s
%(size)-0.fMB
%(description)s

"
+ "This device may need to be reinitialized.

"
+ "REINITIALIZING WILL CAUSE ALL DATA TO BE LOST!

"
+ "This action may also be applied to all other disks "
+ "needing reinitialization.%(details)s")
+ % {'path': path, 'size': size,
+ 'description': description, 'details': details},
+ type="custom",
+ custom_buttons = [ _("_Ignore"),
+ _("Ignore _all"),
+ _("_Re-initialize"),
+ _("Re-ini_tialize all") ],
+ custom_icon="question")
+ if rc == 0:
+ retVal = False
+ elif rc == 1:
+ path = "all"
+ retVal = False
+ elif rc == 2:
+ retVal = True
+ elif rc == 3:
+ path = "all"
+ retVal = True
+
+ self._initLabelAnswers[path] = retVal
+ return retVal
+
+ def resetReinitInconsistentLVMQuestion(self):
+ self._inconsistentLVMAnswers = {}
+
+ def questionReinitInconsistentLVM(self, pv_names=None, lv_name=None, vg_name=None):
+
+ retVal = False # The less destructive default
+ allSet = frozenset(["all"])
+
+ if not pv_names or (lv_name is None and vg_name is None):
+ return retVal
+
+ # We are caching answers so that we don't ask for ignoring
+ # in each storage.reset() again (note that reinitialization is
+ # done right after confirmation in dialog, not as a planned
+ # action).
+ key = frozenset(pv_names)
+ if key in self._inconsistentLVMAnswers:
+ log.info("UI not asking about disk initialization, "
+ "using cached answer: %s" % self._inconsistentLVMAnswers[key])
+ return self._inconsistentLVMAnswers[key]
+ elif allSet in self._inconsistentLVMAnswers:
+ log.info("UI not asking about disk initialization, "
+ "using cached answer: %s" % self._inconsistentLVMAnswers[allSet])
+ return self._inconsistentLVMAnswers[allSet]
+
+ if vg_name is not None:
+ message = "Volume Group %s" % vg_name
+ elif lv_name is not None:
+ message = "Logical Volume %s" % lv_name
+
+ na = {'msg': message, 'pvs': ", ".join(pv_names)}
+ rc = self.messageWindow(_("Warning"),
+ _("Error processing LVM.
"
+ "There is inconsistent LVM data on %(msg)s. You can "
+ "reinitialize all related PVs (%(pvs)s) which will erase "
+ "the LVM metadata, or ignore which will preserve the "
+ "contents. This action may also be applied to all other "
+ "PVs with inconsistent metadata.") % na,
+ type="custom",
+ custom_buttons = [ _("_Ignore"),
+ _("Ignore _all"),
+ _("_Re-initialize"),
+ _("Re-ini_tialize all") ],
+ custom_icon="question")
+ if rc == 0:
+ retVal = False
+ elif rc == 1:
+ key = allSet
+ retVal = False
+ elif rc == 2:
+ retVal = True
+ elif rc == 3:
+ key = allSet
+ retVal = True
+
+ self._inconsistentLVMAnswers[key] = retVal
+ return retVal
+
def questionInitializeDASD(self, c, devs):
"""Ask if unformatted DASD's should be formatted"""
title = P_("Unformatted DASD Device Found",
diff --git a/text.py b/text.py
index 09d7a0b..ca2961f 100644
--- a/text.py
+++ b/text.py
@@ -443,8 +443,6 @@ class InstallInterface(InstallInterfaceBase):
signal.signal(signal.SIGTSTP, signal.SIG_IGN)
self.screen = SnackScreen()
self.instProgress = None
- self._initLabelAnswers = {}
- self._inconsistentLVMAnswers = {}

def __del__(self):
if self.screen:
@@ -461,114 +459,6 @@ class InstallInterface(InstallInterfaceBase):
return False
return True

- def resetInitializeDiskQuestion(self):
- self._initLabelAnswers = {}
-
- def questionInitializeDisk(self, path, description, size, details=""):
-
- retVal = False # The less destructive default
-
- if not path:
- return retVal
-
- # we are caching answers so that we don't
- # ask in each storage.reset() again
- if path in self._initLabelAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._initLabelAnswers[path])
- return self._initLabelAnswers[path]
- elif "all" in self._initLabelAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._initLabelAnswers["all"])
- return self._initLabelAnswers["all"]
-
- rc = self.messageWindow(_("Warning"),
- _("Error processing drive:

"
- "%(path)s
%(size)-0.fMB
%(description)s

"
- "This device may need to be reinitialized.

"
- "REINITIALIZING WILL CAUSE ALL DATA TO BE LOST!

"
- "This action may also be applied to all other disks "
- "needing reinitialization.%(details)s")
- % {'path': path, 'size': size,
- 'description': description, 'details': details},
- type="custom",
- custom_buttons = [ _("_Ignore"),
- _("Ignore _all"),
- _("_Re-initialize"),
- _("Re-ini_tialize all") ],
- custom_icon="question")
- if rc == 0:
- retVal = False
- elif rc == 1:
- path = "all"
- retVal = False
- elif rc == 2:
- retVal = True
- elif rc == 3:
- path = "all"
- retVal = True
-
- self._initLabelAnswers[path] = retVal
- return retVal
-
- def resetReinitInconsistentLVMQuestion(self):
- self._inconsistentLVMAnswers = {}
-
- def questionReinitInconsistentLVM(self, pv_names=None, lv_name=None, vg_name=None):
-
- retVal = False # The less destructive default
- allSet = frozenset(["all"])
-
- if not pv_names or (lv_name is None and vg_name is None):
- return retVal
-
- # We are caching answers so that we don't ask for ignoring
- # in each storage.reset() again (note that reinitialization is
- # done right after confirmation in dialog, not as a planned
- # action).
- key = frozenset(pv_names)
- if key in self._inconsistentLVMAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._inconsistentLVMAnswers[key])
- return self._inconsistentLVMAnswers[key]
- elif allSet in self._inconsistentLVMAnswers:
- log.info("UI not asking about disk initialization, "
- "using cached answer: %s" % self._inconsistentLVMAnswers[allSet])
- return self._inconsistentLVMAnswers[allSet]
-
- if vg_name is not None:
- message = "Volume Group %s" % vg_name
- elif lv_name is not None:
- message = "Logical Volume %s" % lv_name
-
- na = {'msg': message, 'pvs': ", ".join(pv_names)}
- rc = self.messageWindow(_("Warning"),
- _("Error processing LVM.
"
- "There is inconsistent LVM data on %(msg)s. You can "
- "reinitialize all related PVs (%(pvs)s) which will erase "
- "the LVM metadata, or ignore which will preserve the "
- "contents. This action may also be applied to all other "
- "PVs with inconsistent metadata.") % na,
- type="custom",
- custom_buttons = [ _("_Ignore"),
- _("Ignore _all"),
- _("_Re-initialize"),
- _("Re-ini_tialize all") ],
- custom_icon="question")
- if rc == 0:
- retVal = False
- elif rc == 1:
- key = allSet
- retVal = False
- elif rc == 2:
- retVal = True
- elif rc == 3:
- key = allSet
- retVal = True
-
- self._inconsistentLVMAnswers[key] = retVal
- return retVal
-
def run(self, anaconda):
self.anaconda = anaconda
instLang = anaconda.instLanguage
--
1.7.0.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 05:55 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org