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

[Index of Archives]     [Red Hat General]     [CentOS Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux