diff options
author | Mike Fulbright <msf@redhat.com> | 2000-05-19 16:59:11 +0000 |
---|---|---|
committer | Mike Fulbright <msf@redhat.com> | 2000-05-19 16:59:11 +0000 |
commit | 472ee6813adabb65849416afe0790a8eed9a4b0e (patch) | |
tree | 3165fe88910c912ac4c6da1dad5379853fd29aa4 | |
parent | fbd609b2b656d1b824e3d57f3986c18c3ab005b3 (diff) | |
download | anaconda-472ee6813adabb65849416afe0790a8eed9a4b0e.tar.gz anaconda-472ee6813adabb65849416afe0790a8eed9a4b0e.tar.xz anaconda-472ee6813adabb65849416afe0790a8eed9a4b0e.zip |
added support for upgradeonly class specified from loader
-rwxr-xr-x | anaconda | 49 | ||||
-rw-r--r-- | installclass.py | 23 | ||||
-rw-r--r-- | installclasses/upgradeonly.py | 4 |
3 files changed, 52 insertions, 24 deletions
@@ -194,6 +194,8 @@ from installclass import DefaultInstall from installclass import ReconfigStation from kickstart import Kickstart + + # # override display mode if machine cannot nicely run X # @@ -201,6 +203,26 @@ if (not test): if (iutil.memInstalled() < 30000): forced_display_mode = 't' + +# +# handle class passed from loader +# +instClass = None +if customClass: + import installclass + + classes = installclass.availableClasses(showHidden=1) + for (className, objectClass, logo) in classes: + if className == customClass: + instClass = objectClass(expert) + reqmode = instClass.requiredDisplayMode() + if reqmode: + forced_display_mode = reqmode + + if not instClass: + raise TypeError, "installation class "+customClass+" not available" + sys.exit(0) + # # if in reconfig mode set display mode based on inittab default runlevel # @@ -279,26 +301,15 @@ if traceOnly: sys.exit(0) # -# handle class passed from loader +# if no instClass declared by user figure it out based on other cmdline args # -if customClass: - import installclass - - instClass = None - classes = installclass.availableClasses(1) - for (className, objectClass, logo) in classes: - if className == customClass: - instClass = objectClass(expert) - - if not instClass: - raise TypeError, "installation class "+customClass+" not available" - sys.exit(0) -elif kickstart: - instClass = Kickstart(kickstart, serial) -elif reconfigOnly: - instClass = ReconfigStation(expert) -else: - instClass = DefaultInstall(expert) +if not instClass: + if kickstart: + instClass = Kickstart(kickstart, serial) + elif reconfigOnly: + instClass = ReconfigStation(expert) + else: + instClass = DefaultInstall(expert) intf = InstallInterface() diff --git a/installclass.py b/installclass.py index 631ccfca0..953420b0a 100644 --- a/installclass.py +++ b/installclass.py @@ -256,12 +256,17 @@ class ReconfigStation(BaseInstallClass): self.addToSkipList("xconfig") allClasses = [] +allClasses_hidden = [] # returns ( className, classObject, classLogo ) tuples -def availableClasses(showhidden=0): +def availableClasses(showHidden=0): global allClasses + global allClasses_hidden - if allClasses: return allClasses + if not showHidden: + if allClasses: return allClasses + else: + if allClasses_hidden: return allClasses_hidden if os.access("installclasses", os.R_OK): path = "installclasses" @@ -291,14 +296,20 @@ def availableClasses(showhidden=0): else: sortOrder = 0 - if obj.hidden == 0 or showhidden == 1: + if obj.hidden == 0 or showHidden == 1: list.append(((obj.name, obj, obj.pixmap), sortOrder)) list.sort(ordering) for (item, priority) in list: - allClasses.append(item) + if showHidden: + allClasses_hidden.append(item) + else: + allClasses.append(item) - return allClasses + if showHidden: + return allClasses_hidden + else: + return allClasses def ordering(first, second): ((name1, obj, logo), priority1) = first @@ -317,3 +328,5 @@ def ordering(first, second): return 0 +def requireDisplayMode(): + return None diff --git a/installclasses/upgradeonly.py b/installclasses/upgradeonly.py index ddf1bf206..5e59a2690 100644 --- a/installclasses/upgradeonly.py +++ b/installclasses/upgradeonly.py @@ -8,6 +8,10 @@ class InstallClass(BaseInstallClass): hidden = 1 sortPriority = 1 + + def requiredDisplayMode(self): + return 't' + def __init__(self, expert): BaseInstallClass.__init__(self) |