summaryrefslogtreecommitdiffstats
path: root/kickstart.py
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2009-11-11 11:55:44 -0500
committerChris Lumens <clumens@redhat.com>2009-11-12 09:04:46 -0500
commit50cfa4f0d08b58b7757ecd02f9ec7c51fad3e095 (patch)
tree711e6358afc118d7e7e88bb555ca24dd592098f8 /kickstart.py
parent19a90108c1f5b3eb30bece41c0eb975946000639 (diff)
downloadanaconda-50cfa4f0d08b58b7757ecd02f9ec7c51fad3e095.tar.gz
anaconda-50cfa4f0d08b58b7757ecd02f9ec7c51fad3e095.tar.xz
anaconda-50cfa4f0d08b58b7757ecd02f9ec7c51fad3e095.zip
Set a reference to the kickstart handler on BaseData objects.
Diffstat (limited to 'kickstart.py')
-rw-r--r--kickstart.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/kickstart.py b/kickstart.py
index aca53197c..037e469cc 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -40,6 +40,7 @@ import upgrade
import pykickstart.commands as commands
from storage.devices import *
from scdate.core import zonetab
+from pykickstart.base import BaseData
from pykickstart.constants import *
from pykickstart.errors import *
from pykickstart.parser import *
@@ -1119,6 +1120,18 @@ class AnacondaKSHandler(superclass):
self.id = self.anaconda.id
self.onPart = {}
+ def dispatcher(self, args, lineno, include=None):
+ # This is a big fat hack, and I don't want it in pykickstart. A lot
+ # of our overridden data objects here refer to the handler (to skip
+ # steps, mainly). I don't think this should be pykickstart's job
+ # since it's only required for anaconda, so it's got to go here.
+ obj = superclass.dispatcher(self, args, lineno, include=include)
+
+ if isinstance(obj, BaseData) and self.commands[args[0]] != None:
+ obj.handler = self
+
+ return obj
+
class EarlyKSHandler(superclass):
# This handler class only processes a couple kickstart commands. It is
# used very early on in anaconda, when we don't yet have an interface