|
|
|
where is the "BaseHandler.__init__" exec ? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
hi,all
I'm research pykickstart now, have a puzzle on pykickstart/version.py .
where is the "BaseHandler.__init__" exec ?
look at the following code, after func "returnClassForVersion" have executed,
the "commands" attr of "handler" have fixed by "command-object" mapping already.
but from the line 173 to 177, there is just a imputil.imp.load_module func ,
and the module itself haven't execute a "BaseHandler.__init__" func.
how the "handler" get a fixed attr "commands" ?
Thanks,
-------------------------------------------------------------------
159 def returnClassForVersion(version=DEVEL):
160 """Return the class of the syntax handler for version. version can be
161 either a string or the matching constant. Raises KickstartValueError
162 if version does not match anything.
163 """
164 try:
165 version = int(version)
166 module = "%s" % versionToString(version, skipDevel=True)
167 except ValueError:
168 module = "%s" % version
169 version = stringToVersion(version)
170
171 module = module.lower()
172
173 try:
174 import pykickstart.handlers
175 sys.path.extend(pykickstart.handlers.__path__)
176 found = imputil.imp.find_module(module)
177 loaded = imputil.imp.load_module(module, found[0], found[1], found[2])
178
179 for (k, v) in loaded.__dict__.iteritems():
180 if k.lower().endswith("%shandler" % module):
181 return v
182 except:
183 raise KickstartVersionError(_("Unsupported version specified: %s") % version)
=====================================================
---------------------
Jian Lee [ http://jianlee.ylinux.org ]
_______________________________________________
Kickstart-list mailing list
Kickstart-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/kickstart-list
[Home] [Fedora Users] [Fedora Legacy] [Fedora Maintainers] [Fedora Desktop] [Fedora SELinux] [Big List of Linux Books] [Yosemite News] [Yosemite Photos] [KDE Users] [Fedora Tools]