I looked at this code some more and re-thought some of my advice.
There's another problem lurking. If your code chooses not to import
libbe in bootenv.py, any calls to the BootEnv class will fail with a
naming error as soon as you try to call functions from lg. For example,
the BootEnv constructor calls lg.beList(); however, if you've not imported
the lg module, you'll get a NameError.
When you don't import the lg module, you need to make sure that the
bootenv.py code doesn't call functions from the module that haven't been
imported.
Regarding the location of modules, python stores the locations that it
looks for modules in sys.path, so you could simplify your search by
looking in those directories.
On my system this looks like:
>>> import sys
>>> print sys.path
['', '/usr/lib/python24.zip', '/usr/lib/python2.4',
'/usr/lib/python2.4/plat-sunos5', '/usr/lib/python2.4/lib-tk',
'/usr/lib/python2.4/lib-dynload', '/usr/lib/python2.4/site-packages',
'/usr/lib/python2.4/vendor-packages',
'/usr/lib/python2.4/vendor-packages/gtk-2.0']
Another approach might be to try to import libbe, but catch the
ImportError that gets raised if the module cannot be found. In this
case, you could then set whatever variables you need so that the BootEnv
classes won't fail in horrible ways when its methods are invoked.
Danek may also have additional stylistic guidance for you.
-j
On Wed, Apr 02, 2008 at 11:23:55AM -0700, [EMAIL PROTECTED] wrote:
> > - importing the library is done dynamically. If it exists it is
> > imported, if not it isn't. This allows pkg(1) to not hard require
> > SUNWinstall-libs which delivers libbe.so and also allows pkg(1) to
> > exist on systems that SUNWinstall-libs will not be installed on.
>
> Thanks for making this change. I do, however, have a nit with the way
> it's implemented. I think this can be written in Python using
> os.listdir(), os.walk(), and os.path.exists(). We shouldn't be calling
> os.system() here.
>
> -j
>
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss