[Zope] LoginManager dlpierson example
W. Robert Kellock
sales@creditscore.co.nz
Tue, 30 Jan 2001 21:58:26 +1300
This is a multi-part message in MIME format.
------=_NextPart_000_0008_01C08B07.C6001520
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi,
I'm new to Zope and I've been examining the LoginManager example given =
by dlpierson (http://www.zope.org/Members/dlpierson/sqlLogin). Although =
I am nowhere near understanding what it is doing, I'm very close to =
getting it to work - I think! It looks to me like I'm falling down in =
the PythonMethods (PythonScripts) in the Member ZClass. Are =
PythonScript arguments typeless? I keep getting an error
Error Type: AttributeError
Error Value: 'string' object has no attribute 'password'
from the authenticate method which I'm passing self,password.
=20
Strangely following this error, I can hit the back button on my browser =
and reach the protected HTML page anyway! Here is the traceback. Your =
help would be appreciated.
<!--
Traceback (innermost last):
File D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line 222, in =
publish_module
File D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line 187, in =
publish
File D:\PROGRA~1\WEBSITE\lib\python\Zope\__init__.py, line 221, in =
zpublisher_exception_hook
(Object: Traversable)
File D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line 162, in =
publish
File D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\BaseRequest.py, line 444, =
in traverse
File =
D:\PROGRA~1\WEBSITE\lib\python\Products\LoginManager\LoginManager.py, =
line 237, in validate
(Object: ProviderContainer)
File =
D:\PROGRA~1\WEBSITE\lib\python\Products\LoginManager\LoginMethods.py, =
line 246, in findLogin
(Object: PlugInBase)
File D:\PROGRA~1\WEBSITE\lib\python\Shared\DC\Scripts\Bindings.py, line =
324, in __call__
(Object: authenticate)
File D:\PROGRA~1\WEBSITE\lib\python\Shared\DC\Scripts\Bindings.py, line =
353, in _bindAndExec
(Object: authenticate)
File =
D:\PROGRA~1\WEBSITE\lib\python\Products\PythonScripts\PythonScript.py, =
line 330, in _exec
(Object: authenticate)
(Info: ({'script': <PythonScript instance at 01596818>, 'context': =
SMKELLOCK, 'container': SMKELLOCK, 'traverse_subpath': []}, ('colenso9', =
<h3>form</h3><table><tr valign=3D"top" =
align=3D"left"><th>__ac_password</th><td>'=
colenso9'</td></tr><tr valign=3D"top" =
align=3D"left"><th> Log In </th><td>' Log =
In '</td></tr><tr valign=3D"top" =
align=3D"left"><th>__ac_name</th><td>'SMKE=
LLOCK'</td></tr></table><h3>cookies</h3><=
;table><tr valign=3D"top" =
align=3D"left"><th>sql_pref__cols</th><td>=
'50'</td></tr><tr valign=3D"top" =
align=3D"left"><th>dtpref_cols</th><td>'85=
'</td></tr><tr valign=3D"top" =
align=3D"left"><th>sql_pref__rows</th><td>=
'15'</td></tr><tr valign=3D"top" =
align=3D"left"><th>dtpref_rows</th><td>'15=
'</td></tr><tr valign=3D"top" =
align=3D"left"><th>tutorialExamplesURL</th><t=
d>'http://sharonk:8080/ZopeTutorial/examples/lesson3'</td></t=
r></table><h3>other</h3><table><tr =
valign=3D"top" =
align=3D"left"><th>dtpref_rows</th><td>'15=
'</td></tr><tr valign=3D"top" =
align=3D"left"><th>__ac_password</th><td>'=
colenso9'</td></tr><tr valign=3D"top" =
align=3D"left"><th>__ac_name</th><td>'SMKE=
LLOCK'</td></tr><tr valign=3D"top" =
align=3D"left"><th>dtpref_cols</th><td>'85=
'</td></tr><tr valign=3D"top" =
align=3D"left"><th>BASE3</th><td>'http://s=
haronk:8080/FinanceNow/index_html'</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>BASE2</th><td>'http://s=
haronk:8080/FinanceNow'</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>BASE1</th><td>'http://s=
haronk:8080'</td></tr><tr valign=3D"top" =
align=3D"left"><th>BASE0</th><td>'http://s=
haronk:8080'</td></tr><tr valign=3D"top" =
align=3D"left"><th>URL1</th><td>'http://sh=
aronk:8080/FinanceNow'</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>SERVER_URL</th><td>'htt=
p://sharonk:8080'</td></tr><tr valign=3D"top" =
align=3D"left"><th>AUTHENTICATED_USER</th><td=
>LoggingInUser</td></tr><tr valign=3D"top" =
align=3D"left"><th>TraversalRequestNameStack</th>=
;<td>[]</td></tr><tr valign=3D"top" =
align=3D"left"><th>sql_pref__rows</th><td>=
'15'</td></tr><tr valign=3D"top" =
align=3D"left"><th>URL2</th><td>'http://sh=
aronk:8080'</td></tr><tr valign=3D"top" =
align=3D"left"><th>URL0</th><td>'http://sh=
aronk:8080/FinanceNow/index_html'</td></tr><tr =
valign=3D"top" align=3D"left"><th> Log In =
</th><td>' Log In '</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>sql_pref__cols</th><td>=
'50'</td></tr><tr valign=3D"top" =
align=3D"left"><th>PUBLISHED</th><td>&=
lt;DTMLDocument instance at 0141CAE8&gt;</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>URL</th><td>'http://sha=
ronk:8080/FinanceNow/index_html'</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>LOGIN_METHODS</th><td>[=
]</td></tr><tr valign=3D"top" =
align=3D"left"><th>tutorialExamplesURL</th><t=
d>'http://sharonk:8080/ZopeTutorial/examples/lesson3'</td></t=
r><tr valign=3D"top" =
align=3D"left"><th>URL0</th><td>http://sha=
ronk:8080/FinanceNow/index_html</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>URL1</th><td>http://sha=
ronk:8080/FinanceNow</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>URL2</th><td>http://sha=
ronk:8080</td></tr><tr valign=3D"top" =
align=3D"left"><th>BASE0</th><td>http://sh=
aronk:8080</td></tr><tr valign=3D"top" =
align=3D"left"><th>BASE1</th><td>http://sh=
aronk:8080</td></tr><tr valign=3D"top" =
align=3D"left"><th>BASE2</th><td>http://sh=
aronk:8080/FinanceNow</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>BASE3</th><td>http://sh=
aronk:8080/FinanceNow/index_html</td></tr></table><h=
3>environ</h3><table><tr valign=3D"top" =
align=3D"left"><th>SCRIPT_NAME</th><td><=
;/td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_ACCEPT_ENCODING</th><=
td>gzip, deflate</td></tr><tr valign=3D"top" =
align=3D"left"><th>CONTENT_LENGTH</th><td>=
60</td></tr><tr valign=3D"top" =
align=3D"left"><th>channel.creation_time</th><=
;td>980842631</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_REFERER</th><td>ht=
tp://sharonk:8080/FinanceNow</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>HTTP_EXTENSION</th><td>=
Security/Remote-Passphrase</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>SERVER_PROTOCOL</th><td>=
;1.1</td></tr><tr valign=3D"top" =
align=3D"left"><th>CONTENT_TYPE</th><td>ap=
plication/x-www-form-urlencoded</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>PATH_TRANSLATED</th><td>=
;\FinanceNow</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_ACCEPT</th><td>app=
lication/vnd.ms-excel, application/msword, image/gif, image/x-xbitmap, =
image/jpeg, image/pjpeg, */*</td></tr><tr =
valign=3D"top" =
align=3D"left"><th>REQUEST_METHOD</th><td>=
POST</td></tr><tr valign=3D"top" =
align=3D"left"><th>SERVER_SOFTWARE</th><td>=
;Zope/Zope 2.3.0 (binary release, python 1.5.2, win32-x86) =
ZServer/1.1b1</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_COOKIE</th><td>sql=
_pref__rows=3D&quot;15&quot;; =
sql_pref__cols=3D&quot;50&quot;; =
dtpref_rows=3D&quot;15&quot;; =
dtpref_cols=3D&quot;85&quot;; =
tutorialExamplesURL=3D&quot;http://sharonk:8080/ZopeTutorial/examples=
/lesson3&quot;</td></tr><tr valign=3D"top" =
align=3D"left"><th>PATH_INFO</th><td>/Fina=
nceNow</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_ACCEPT_LANGUAGE</th><=
td>en-nz</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_HOST</th><td>sharo=
nk:8080</td></tr><tr valign=3D"top" =
align=3D"left"><th>GATEWAY_INTERFACE</th><td&=
gt;CGI/1.1</td></tr><tr valign=3D"top" =
align=3D"left"><th>SERVER_PORT</th><td>808=
0</td></tr><tr valign=3D"top" =
align=3D"left"><th>SERVER_NAME</th><td>sha=
ronk</td></tr><tr valign=3D"top" =
align=3D"left"><th>REMOTE_ADDR</th><td>200=
.0.0.2</td></tr><tr valign=3D"top" =
align=3D"left"><th>HTTP_USER_AGENT</th><td>=
;Mozilla/4.0 (compatible; MSIE 5.01; Windows 98; =
Xtra)</td></tr><tr valign=3D"top" =
align=3D"left"><th>CONNECTION_TYPE</th><td>=
;Keep-Alive</td></tr></table>), {}, None))
File Script (Python), line 2, in authenticate
AttributeError: (see above)
-->
-------------------------------------------------------------------------=
------------------------------------
W.Robert Kellock Ph: =
+64 3 326 6115
Sales Manager Fax: =
+64 3 326 6115
Credit Systems Control Ltd Web: =
www.creditscore.co.nz
"making decisions easy"
-------------------------------------------------------------------------=
------------------------------------
------=_NextPart_000_0008_01C08B07.C6001520
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2919.6307" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2>Hi,</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2>I'm new to Zope and I've been examining the =
LoginManager=20
example given by dlpierson (<A=20
href=3D"http://www.zope.org/Members/dlpierson/sqlLogin">http://www.zope.o=
rg/Members/dlpierson/sqlLogin</A>). =20
Although I am nowhere near understanding what it is doing, I'm very =
close to=20
getting it to work - I think! It looks to me like I'm falling down =
in the=20
PythonMethods (PythonScripts) in the Member ZClass. Are =
PythonScript=20
arguments typeless? I keep getting an error</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2><STRONG>Error Type: =
AttributeError</STRONG><BR><STRONG>Error=20
Value: 'string' object has no attribute 'password'</STRONG></FONT></DIV>
<DIV><FONT size=3D2> </DIV></FONT>
<DIV><FONT size=3D2>from the authenticate method which I'm passing=20
<STRONG>self,password</STRONG>.</FONT></DIV>
<DIV><FONT size=3D2> </DIV></FONT>
<DIV><FONT size=3D2>Strangely following this error, I can hit the back =
button on=20
my browser and reach the protected HTML page anyway! Here is the=20
traceback. Your help would be appreciated.</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">
<P><FONT size=3D2><!--</FONT></P>
<P><FONT size=3D2>Traceback (innermost last):</FONT></P>
<P><FONT size=3D2>File =
D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line=20
222, in publish_module</FONT></P>
<P><FONT size=3D2>File =
D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line=20
187, in publish</FONT></P>
<P><FONT size=3D2>File D:\PROGRA~1\WEBSITE\lib\python\Zope\__init__.py, =
line 221,=20
in zpublisher_exception_hook</FONT></P>
<P><FONT size=3D2>(Object: Traversable)</FONT></P>
<P><FONT size=3D2>File =
D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\Publish.py, line=20
162, in publish</FONT></P>
<P><FONT size=3D2>File =
D:\PROGRA~1\WEBSITE\lib\python\ZPublisher\BaseRequest.py,=20
line 444, in traverse</FONT></P>
<P><FONT size=3D2>File=20
D:\PROGRA~1\WEBSITE\lib\python\Products\LoginManager\LoginManager.py, =
line 237,=20
in validate</FONT></P>
<P><FONT size=3D2>(Object: ProviderContainer)</FONT></P>
<P><FONT size=3D2>File=20
D:\PROGRA~1\WEBSITE\lib\python\Products\LoginManager\LoginMethods.py, =
line 246,=20
in findLogin</FONT></P>
<P><FONT size=3D2>(Object: PlugInBase)</FONT></P>
<P><FONT size=3D2>File=20
D:\PROGRA~1\WEBSITE\lib\python\Shared\DC\Scripts\Bindings.py, line 324, =
in=20
__call__</FONT></P>
<P><FONT size=3D2>(Object: authenticate)</FONT></P>
<P><FONT size=3D2>File=20
D:\PROGRA~1\WEBSITE\lib\python\Shared\DC\Scripts\Bindings.py, line 353, =
in=20
_bindAndExec</FONT></P>
<P><FONT size=3D2>(Object: authenticate)</FONT></P>
<P><FONT size=3D2>File=20
D:\PROGRA~1\WEBSITE\lib\python\Products\PythonScripts\PythonScript.py, =
line 330,=20
in _exec</FONT></P>
<P><FONT size=3D2>(Object: authenticate)</FONT></P>
<P><FONT size=3D2>(Info: ({'script': &lt;PythonScript instance at=20
01596818&gt;, 'context': SMKELLOCK, 'container': SMKELLOCK,=20
'traverse_subpath': []}, ('colenso9',=20
&lt;h3&gt;form&lt;/h3&gt;&lt;table&gt;&lt;tr =
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;__ac_password&a=
mp;lt;/th&gt;&lt;td&gt;'colenso9'&lt;/td&gt;&lt;/=
tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt; Log In=20
&lt;/th&gt;&lt;td&gt;' Log In=20
'&lt;/td&gt;&lt;/tr&gt;&lt;tr =
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;__ac_name&l=
t;/th&gt;&lt;td&gt;'SMKELLOCK'&lt;/td&gt;&lt;/tr&=
amp;gt;&lt;/table&gt;&lt;h3&gt;cookies&lt;/h3&gt;=
&lt;table&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;sql_pref__cols&=
amp;lt;/th&gt;&lt;td&gt;'50'&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;dtpref_cols&=
;lt;/th&gt;&lt;td&gt;'85'&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;sql_pref__rows&=
amp;lt;/th&gt;&lt;td&gt;'15'&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;dtpref_rows&=
;lt;/th&gt;&lt;td&gt;'15'&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;tutorialExample=
sURL&lt;/th&gt;&lt;td&gt;'http://sharonk:8080/ZopeTutoria=
l/examples/lesson3'&lt;/td&gt;&lt;/tr&gt;&lt;/table&a=
mp;gt;&lt;h3&gt;other&lt;/h3&gt;&lt;table&gt;&=
;lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;dtpref_rows&=
;lt;/th&gt;&lt;td&gt;'15'&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;__ac_password&a=
mp;lt;/th&gt;&lt;td&gt;'colenso9'&lt;/td&gt;&lt;/=
tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;__ac_name&l=
t;/th&gt;&lt;td&gt;'SMKELLOCK'&lt;/td&gt;&lt;/tr&=
amp;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;dtpref_cols&=
;lt;/th&gt;&lt;td&gt;'85'&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE3&lt;/t=
h&gt;&lt;td&gt;'http://sharonk:8080/FinanceNow/index_html'&am=
p;lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE2&lt;/t=
h&gt;&lt;td&gt;'http://sharonk:8080/FinanceNow'&lt;/td&am=
p;gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE1&lt;/t=
h&gt;&lt;td&gt;'http://sharonk:8080'&lt;/td&gt;&l=
t;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE0&lt;/t=
h&gt;&lt;td&gt;'http://sharonk:8080'&lt;/td&gt;&l=
t;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL1&lt;/th=
&gt;&lt;td&gt;'http://sharonk:8080/FinanceNow'&lt;/td&=
;gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SERVER_URL&=
lt;/th&gt;&lt;td&gt;'http://sharonk:8080'&lt;/td&gt;&=
amp;lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;AUTHENTICATED_U=
SER&lt;/th&gt;&lt;td&gt;LoggingInUser&lt;/td&gt;&=
amp;lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;TraversalReques=
tNameStack&lt;/th&gt;&lt;td&gt;[]&lt;/td&gt;&=
lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;sql_pref__rows&=
amp;lt;/th&gt;&lt;td&gt;'15'&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL2&lt;/th=
&gt;&lt;td&gt;'http://sharonk:8080'&lt;/td&gt;&lt=
;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL0&lt;/th=
&gt;&lt;td&gt;'http://sharonk:8080/FinanceNow/index_html'&=
;lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt; Log In=20
&lt;/th&gt;&lt;td&gt;' Log In=20
'&lt;/td&gt;&lt;/tr&gt;&lt;tr =
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;sql_pref__cols&=
amp;lt;/th&gt;&lt;td&gt;'50'&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;PUBLISHED&l=
t;/th&gt;&lt;td&gt;&amp;lt;DTMLDocument=20
instance at =
0141CAE8&amp;gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL&lt;/th&=
amp;gt;&lt;td&gt;'http://sharonk:8080/FinanceNow/index_html'&=
lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;LOGIN_METHODS&a=
mp;lt;/th&gt;&lt;td&gt;[]&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;tutorialExample=
sURL&lt;/th&gt;&lt;td&gt;'http://sharonk:8080/ZopeTutoria=
l/examples/lesson3'&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL0&lt;/th=
&gt;&lt;td&gt;http://sharonk:8080/FinanceNow/index_html&l=
t;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL1&lt;/th=
&gt;&lt;td&gt;http://sharonk:8080/FinanceNow&lt;/td&g=
t;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;URL2&lt;/th=
&gt;&lt;td&gt;http://sharonk:8080&lt;/td&gt;&lt;/=
tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE0&lt;/t=
h&gt;&lt;td&gt;http://sharonk:8080&lt;/td&gt;&lt;=
/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE1&lt;/t=
h&gt;&lt;td&gt;http://sharonk:8080&lt;/td&gt;&lt;=
/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE2&lt;/t=
h&gt;&lt;td&gt;http://sharonk:8080/FinanceNow&lt;/td&=
gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;BASE3&lt;/t=
h&gt;&lt;td&gt;http://sharonk:8080/FinanceNow/index_html&=
lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;h3&gt;=
environ&lt;/h3&gt;&lt;table&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SCRIPT_NAME&=
;lt;/th&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&a=
mp;lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_ACCEPT_ENC=
ODING&lt;/th&gt;&lt;td&gt;gzip,=20
deflate&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;CONTENT_LENGTH&=
amp;lt;/th&gt;&lt;td&gt;60&lt;/td&gt;&lt;/tr&=
gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;channel.creatio=
n_time&lt;/th&gt;&lt;td&gt;980842631&lt;/td&gt;&a=
mp;lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_REFERER&am=
p;lt;/th&gt;&lt;td&gt;http://sharonk:8080/FinanceNow&lt;/=
td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_EXTENSION&=
amp;lt;/th&gt;&lt;td&gt;Security/Remote-Passphrase&lt;/td=
&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SERVER_PROTOCOL=
&lt;/th&gt;&lt;td&gt;1.1&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;CONTENT_TYPE&am=
p;lt;/th&gt;&lt;td&gt;application/x-www-form-urlencoded&l=
t;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;PATH_TRANSLATED=
&lt;/th&gt;&lt;td&gt;\FinanceNow&lt;/td&gt;&l=
t;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_ACCEPT&=
;lt;/th&gt;&lt;td&gt;application/vnd.ms-excel,=20
application/msword, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, =
*/*&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;REQUEST_METHOD&=
amp;lt;/th&gt;&lt;td&gt;POST&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SERVER_SOFTWARE=
&lt;/th&gt;&lt;td&gt;Zope/Zope=20
2.3.0 (binary release, python 1.5.2, win32-x86)=20
ZServer/1.1b1&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_COOKIE&=
;lt;/th&gt;&lt;td&gt;sql_pref__rows=3D&amp;quot;15&am=
p;quot;;=20
sql_pref__cols=3D&amp;quot;50&amp;quot;;=20
dtpref_rows=3D&amp;quot;15&amp;quot;;=20
dtpref_cols=3D&amp;quot;85&amp;quot;;=20
tutorialExamplesURL=3D&amp;quot;http://sharonk:8080/ZopeTutorial/exam=
ples/lesson3&amp;quot;&lt;/td&gt;&lt;/tr&gt;&lt;t=
r=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;PATH_INFO&l=
t;/th&gt;&lt;td&gt;/FinanceNow&lt;/td&gt;&lt;/tr&=
amp;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_ACCEPT_LAN=
GUAGE&lt;/th&gt;&lt;td&gt;en-nz&lt;/td&gt;&lt=
;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_HOST&l=
t;/th&gt;&lt;td&gt;sharonk:8080&lt;/td&gt;&lt;/tr=
&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;GATEWAY_INTERFA=
CE&lt;/th&gt;&lt;td&gt;CGI/1.1&lt;/td&gt;&lt;=
/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SERVER_PORT&=
;lt;/th&gt;&lt;td&gt;8080&lt;/td&gt;&lt;/tr&g=
t;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;SERVER_NAME&=
;lt;/th&gt;&lt;td&gt;sharonk&lt;/td&gt;&lt;/tr&am=
p;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;REMOTE_ADDR&=
;lt;/th&gt;&lt;td&gt;200.0.0.2&lt;/td&gt;&lt;/tr&=
amp;gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;HTTP_USER_AGENT=
&lt;/th&gt;&lt;td&gt;Mozilla/4.0=20
(compatible; MSIE 5.01; Windows 98;=20
Xtra)&lt;/td&gt;&lt;/tr&gt;&lt;tr=20
valign=3D&quot;top&quot;=20
align=3D&quot;left&quot;&gt;&lt;th&gt;CONNECTION_TYPE=
&lt;/th&gt;&lt;td&gt;Keep-Alive&lt;/td&gt;&lt=
;/tr&gt;&lt;/table&gt;),=20
{}, None))</FONT></P>
<P><FONT size=3D2>File Script (Python), line 2, in =
authenticate</FONT></P>
<P><FONT size=3D2>AttributeError: (see above)</FONT></P>
<P><FONT size=3D2>--></FONT></P></FONT></DIV>
<DIV><FONT=20
size=3D2>----------------------------------------------------------------=
---------------------------------------------<BR>W.Robert=20
Kellock =
&=
nbsp; =20
Ph: &nbs=
p; =20
+64 3 326 6115<BR>Sales=20
Manager =
&=
nbsp; &n=
bsp; =20
Fax: &nb=
sp; =20
+64 3 326 6115<BR>Credit Systems Control=20
Ltd &nbs=
p; =20
Web: </FONT><A=20
href=3D"http://www.creditscore.co.nz"><FONT=20
size=3D2>www.creditscore.co.nz</FONT></A><BR><FONT=20
size=3D2> &nbs=
p;  =
; =
=20
"making decisions=20
easy"<BR>----------------------------------------------------------------=
---------------------------------------------<BR></FONT></DIV></BODY></HT=
ML>
------=_NextPart_000_0008_01C08B07.C6001520--