Altering imported modules

Paul McGuire ptmcg at austin.rr.com
Sun Mar 2 20:53:54 EST 2008


On Mar 2, 3:48 pm, Tro <trowo... at gmail.com> wrote:
> On Sunday 02 March 2008, Terry Reedy wrote:
>
>
>
>
>
> > "Tro" <trowo... at gmail.com> wrote in message
> >news:200803011856.27611.troworld at gmail.com...
>
> > | Hi, list.
> > |
> > | I've got a simple asyncore-based server. However, I've modified the
>
> > asyncore
>
> > | module to allow me to watch functions as well as sockets. The modified
> > | asyncore module is in a specific location in my project and is imported
>
> > as
>
> > | usual from my classes.
> > |
> > | Now I'd like to use the tlslite library, which includes an asyncore mixin
> > | class. However, tlslite imports "asyncore", which doesn't include my own
> > | modifications.
> > |
> > | I'd like to know if it's possible to make tlslite load *my* asyncore
>
> > module
>
> > | without changing any of the tlslite code.
>
> > If your module is also 'asyncore' and comes earlier in the search path, I
> > would expect the import to get yours.
>
> It's not. It has a package prefix like my.package.asyncore. I think I can
> either move my version of asyncore up a couple of levels or add the
> my.package directory to sys.path.
>
> My version of asyncore imports several functions from the built-in asyncore.
> Now that my version of it is imported as asyncore, how would it import the
> built-in version from python2.5/site-packages?
>
> Thanks,
> Tro- Hide quoted text -
>
> - Show quoted text -

What happens if you do "import my.package.asyncore as asyncore"?

If that doesn't work (trying the simplest hack first), I know that
there are various hooks in the import mechanism that should help.

-- Paul



More information about the Python-list mailing list