donnie jones
donniejones18 at gmail.com
Fri Feb 11 14:03:34 EST 2005
---------- Forwarded message ---------- From: donnie jones <donniejones18 at gmail.com> Date: Fri, 11 Feb 2005 14:02:48 -0500 Subject: Re: [mod_python] pass variables between functions. To: Scott Sanders <sanders at apache.org> I believe I am having this problem because if I reload the x=x+1 function many times, sometimes it will increment the value and sometimes it won't... so I assume it is depending upon which thread has loaded. Is there a way around this so that I have a consistent value between the functions? Thank you. __ Donnie On Fri, 11 Feb 2005 10:58:51 -0800, Scott Sanders <sanders at apache.org> wrote: > It won't work for everyone, if someone's config uses a threaded MPM for > Apache, or multiple python interpreters. Then the x global var is only > global to a particular interpreter. > > Scott > > On Feb 11, 2005, at 10:49 AM, Chris Jackson wrote: > > > [+ mod_python] > > > > I've tested your code. It works fine the way you have it (add an > > output statement to def test).... > > > > Everytime http://path/to/your/site/test is called, x is reset to 1 > > Each time http://path/to/your/site/add is called, x is incremented. > > > > ~= Chris =~ > > > > On Fri, 11 Feb 2005 13:28:15 -0500, donnie jones > > <donniejones18 at gmail.com> wrote: > >> I meant retain a value across function, not constants. > >> The global did not work for me.. > >> > >> Must I "return" the variable in order for it to be > >> changed for the second function? > >> > >> What kind of sessions issue could be happening? > >> I don't have any sessions declared.... > >> > >> Thanks. > >> __ > >> Donnie > >> > >> > >> On Fri, 11 Feb 2005 13:25:14 -0500, Chris Jackson > >> <christopher.jackson at gmail.com> wrote: > >>> If you're looking for setting something like constants, then one > >>> suggestion would be to create a separate config module of a sort : > >>> > >>> # config.py > >>> COLOR='blue' > >>> SIZE=10 > >>> > >>> Then, in your publisher handler file you can import the config module > >>> and call it like so: > >>> > >>> from mod_python import apache > >>> import config > >>> > >>> def test(req): > >>> mycolor = config.COLOR + 1 > >>> mysize = config.SIZE +1 > >>> > >>> def add(req): > >>> mycolor = config.COLOR +2 > >>> mysize = config.SIZE + 2 > >>> > >>> However, if by consistency, you mean retain a value across functions, > >>> then using global should work fine. You may just have an issue with > >>> sessions. What do you ultimately want to accomplish? > >>> > >>> ~= Chris =~ > >>> > >>> > >>> On Fri, 11 Feb 2005 12:48:47 -0500, donnie jones > >>> <donniejones18 at gmail.com> wrote: > >>>> Hello, > >>>> > >>>> I am wanting to have a variable's data between two functions, but I > >>>> can't seem to find a reasonable way to do this with modpython > >>>> publisher... > >>>> > >>>> example: > >>>> > >>>> x=0 > >>>> > >>>> def test(req): > >>>> global x > >>>> x = 1 > >>>> > >>>> def add(req): > >>>> global x > >>>> x=x+1 > >>>> req.write("%d" % x) > >>>> > >>>> I would like for x to have a consistent value between the > >>>> functions... > >>>> I thought maybe doing req.x = 1 might work, but I did not have > >>>> success > >>>> between the functions, req would not maintain the value. > >>>> > >>>> Any suggestions would be great. > >>>> Thank you. > >>>> > >>>> __ > >>>> Donnie > >>>> _______________________________________________ > >>>> Mod_python mailing list > >>>> Mod_python at modpython.org > >>>> http://mailman.modpython.org/mailman/listinfo/mod_python > >>>> > >>> > >> > > _______________________________________________ > > Mod_python mailing list > > Mod_python at modpython.org > > http://mailman.modpython.org/mailman/listinfo/mod_python > >
|