[Zope] Script writing to session: bizarre result or just a mistake?
Redding, Matthew
Matthew.Redding@dpi.qld.gov.au
Mon, 13 Jan 2003 08:14:40 +1000
Hi All,
I was wondering if anyone could tell me why this python script (passed
no parameters)
creates session values for N_prod, N_shed, N_screen, N_pond, N_land,
N_soil that
are all the same (and TS_*, K_*, P_* values that are similarly the same
within their set).
What am I doing wrong? Is this a vaguery of the script system, and
should I use
an external method instead?
#This function uses the session data, and a range of coded
#values to determine the quantities of TS, N, P, and K
#remaining at each step of the process up to land application.
#On Entry: requires the Session data values gest, lact, suckers,
#weaners, growers, finish, gilt, and boars.
#On Exit: returns the modified session data, with additional values
#representing the manure produced, Efluent exiting the shed, Effluent
#after the screens (if there are any), pond sludge component, pond
liquid,
#quantities reaching the soil during irrigation, quantity remaining in
the
soil
#following losses: each of these for each of TS, N, P, and K.
import math
session=context.REQUEST.SESSION
#Define loss values:
ts_shed=0; ts_screen=20
N_shed=10;N_screen=8;N_sludge=24;N_pond=40;N_irrigation=25;N_soil=25
P_shed=0;P_screen=11;P_sludge=90;P_pond=0;P_irrigation=0;P_soil=0
K_shed=0;K_screen=0;K_sludge=10;K_pond=0;K_irrigation=0;K_soil=0
#Calculate Components at each step, and assign to the session.
#_Manure Production
session['TS_prod']=session['num_spu']*109.95
#session['N_prod']=round(session['num_spu']*0.081814, 1)
session['N_prod']=session['num_spu']*0.081814
#session['P_prod']=round(session['num_spu']*0.33338, 1)
session['P_prod']=session['num_spu']*0.33338
#session['K_prod']=round(session['num_spu']*0.8335, 1)
session['K_prod']=session['num_spu']*0.8335
#_exiting the shed
session['TS_shed']=round(session['TS_prod']*(1-(ts_shed/100)),1)
session['N_shed']=round(session['N_prod']*(1-(N_shed/100)),1)
session['P_shed']=round(session['P_prod']*(1-(P_shed/100)), 1)
session['K_shed']=round(session['K_prod']*(1-(K_shed/100)), 1)
#_exiting the screens
session['TS_screen']=round(session['TS_shed']*(1-(ts_screen/100)), 1)
session['N_screen']=round(session['N_shed']*(1-(N_screen/100)), 1)
session['P_screen']=round(session['P_shed']*(1-(P_screen/100)), 1)
session['K_screen']=round(session['K_shed']*(1-(K_screen/100)), 1)
#_retained in sludge
session['N_sludge']=round(session['N_screen']*(N_sludge/100), 1)
session['P_sludge']=round(session['P_screen']*(P_sludge/100), 1)
session['K_sludge']=round(session['K_screen']*(K_sludge/100), 1)
#_retained in the ponds
session['N_pond']=round((session['N_screen']-session['N_sludge'])*(1-(N_
pond/
100)), 1)
session['P_pond']=round((session['N_screen']-session['N_sludge'])*(1-(P_
pond/
100)), 1)
session['K_pond']=round((session['N_screen']-session['N_sludge'])*(1-(K_
pond/
100)), 1)
#_reaching the soil
session['N_lands']=round(session['N_pond']*(1-(N_irrigation/100)), 1)
session['P_lands']=round(session['P_pond']*(1-(P_irrigation/100)), 1)
session['K_lands']=round(session['K_pond']*(1-(K_irrigation/100)), 1)
#_retained in the soil
#session['N_soil']=round(session['N_lands']*(1-(N_soil/100)), 1)
session['N_soil']=session['N_lands']*(1-(N_soil/100))
#session['P_soil']=round(session['P_lands']*(1-(P_soil/100)), 1)
session['P_soil']=session['P_lands']*(1-(P_soil/100))
#session['K_soil']=round(session['K_lands']*(1-(K_soil/100)), 1)
session['K_soil']=session['K_lands']*(1-(K_soil/100))
return
-------------------------------------------------------
THanks,
Matt Redding
********************************DISCLAIMER****************************
The information contained in the above e-mail message or messages
(which includes any attachments) is confidential and may be legally
privileged. It is intended only for the use of the person or entity
to which it is addressed. If you are not the addressee any form of
disclosure, copying, modification, distribution or any action taken
or omitted in reliance on the information is unauthorised. Opinions
contained in the message(s) do not necessarily reflect the opinions
of the Queensland Government and its authorities. If you received
this communication in error, please notify the sender immediately and
delete it from your computer system network.