Graham Dumpleton
grahamd at dscpl.com.au
Thu Apr 28 19:44:42 EDT 2005
Nicolas, does the change you have already made for MODPYTHON-9 also address this slightly different variation on the problem? Original report was based on same name module in parent and child subdirectories, not sibling directories which share a common prefix to the subdirectory name. Graham Huzaifa Tapal wrote .. > For my fix, I patched this issue by passing the import_module function > the path with "/" in the end. That way it distinguishes from > /home/user/dir1 and /home/user/dir123 > > hozi > > Graham Dumpleton wrote: > > > See: > > > > http://issues.apache.org/jira/browse/MODPYTHON-9 > > http://issues.apache.org/jira/browse/MODPYTHON-10 > > http://issues.apache.org/jira/browse/MODPYTHON-11 > > > > There are various known issues with using same name module in different > > directories. > > > > The first one has been addressed for next version of mod_python. > > > > Graham > > > > On 29/04/2005, at 8:22 AM, Huzaifa Tapal wrote: > > > >> I think there is a bug in apache.import_module. I am using > >> apache.import_module passing in the path where I want the module > >> imported from. I am seeing a very odd result as to sometimes, the > >> module that is loaded is not the right one. Instead it loads a > >> module that is of the same name but in a different directory. Here > >> is what is happening: > >> > >> I have two modules of same name in 2 different directories as follows; > >> > >> /home/user/dir1/moduleA > >> /home/user/dir123/moduleB > >> > >> Lets say I restart apache and load up moduleA. At that point there > >> is an entry in sys.modules for moduleA. Lets say then, I load up > >> moduleB, now the original entry for moduleA is overwritten by this > >> new entry. Now when I go back to load moduleA, I get back moduleB > >> results. Here is why: > >> > >> In apache.import_module if I pass in the path to load moduleA from > >> '/home/user/dir1' and the last module was in '/home/user/dir123' then > >> the check in import_module to make sure both modules aren't the same > >> fails since it does a "file.startswith()" check on the path. Since > >> the path moduleA is in the path to moduleB, it loads the wrong module. > >> > >> I see that somebody else had complained about this problem in > >> mod_python 1.3.1 but it still has not been patched. > >> > >> Any ideas? > >> > >> Hozi > >> > >> > >> _______________________________________________ > >> Mod_python mailing list > >> Mod_python at modpython.org > >> http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > >
|