Gregory (Grisha) Trubetskoy
grisha at modpython.org
Sun Mar 7 13:26:52 EST 2004
Why don't you use the publisher handler for that? Grisha On Sat, 6 Mar 2004, Colin Fox wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Michael wrote: > | Wouldn't you use .htaccess and Directory tags to set that up? > | > > I don't want to have tons of .htaccess files all over the place. I just > want to be able to make a directory, put a python file into that > directory and get it executed. The same way as would happen > automatically if I was using CGIs. > > |> Hi, all. I'm trying to do something with mod_python that is easy with > |> CGIs, but is turning out to be somewhat challenging. > |> > |> I'd like to support python modules in a variety of subdirectories. So a > |> url like > |> > |> http://localhost/top/something.py > |> > |> and > |> > |> http://localhost/top/next/somethingelse.py > |> > |> would both work. However, the way it seems to be set up, if you install > |> a python handler (say in /top), then it gets executed for all .py files > |> regardless of where they are (so in this case, somethingelse.py would be > |> expected to be in /top, not /top/next). That can be useful at times, but > |> at other times it can be a stumbling block. > |> > |> Here's a snippet of my handler: > |> > |> # -------------------- > |> > |> def process_pyx(req): > |> ~ path, filename = os.path.split(req.filename) > |> ~ name, ext = string.split(filename, ".") > |> > |> ~ #pyx_mod = apache.import_module("%s/%s" % (path,name)) > |> ~ #pyx_mod = apache.import_module(name, path=path) > |> ~ pyx_mod = apache.import_module("%s" % name) > |> > |> ~ pyx_mod.main(req) > |> ~ return apache.OK > |> > |> def handler(req): > |> ~ if args['requestedfile'].endswith('.py'): > |> return process_pyx(req) > |> ~ elif args['requestedfile'].endswith('.xml'): > |> return process_xml(req) > |> ~ else: > |> return apache.ERROR > |> > |> # -------------------- > |> > |> This works fine for any .py file that is in the same directory as this > |> handler. However, it doesn't work for subdirectories. You can see some > |> attempts for adding a path for the import, but they don't work. > |> > |> So - is there an elegant way to allow a specifically named .py file to > |> be executed from any directory under this handler's directory? > | > | > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (GNU/Linux) > > iD8DBQFASr1noaQ1/feGlJoRAtxdAJ95DsLIev9oKIwDdD2zlDQW5dFYUwCeKGy2 > GY42ZfcSiBhSLCHCiMpG2GE= > =XVux > -----END PGP SIGNATURE----- > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|