On 3/12/2011 7:18 PM, Tim Johnson wrote:
* Terry Reedy<tjre...@udel.edu> [110312 13:28]:
On 3/12/2011 2:53 PM, Tim Johnson wrote:
Is 'cgilib' *your* wrapper of the cgi module, or from a third party.
cgilib is my module. I use the cgi module as follows:
## code below
import cgi
self.form = cgi.FieldStorage(keep_blank_values=1)
## /code
And cgitools is a class therein?
Without seeing cgitools/cgirev, it is hard to say. Something like
while True:
try:
x = cgitools()
break
except NameError
pass
would produce the symptom ;-)
Hmm! I'm unsure what you mean here, but
If the name 'cgitools' is used *somewhere*, not necessary in cgilib
itself, other than in the class header itself, but the resulting
NameError is *somehow* caught inside a retry loop, then your total
application would exhibit the symptom you describe ('hanging'). This
could happen if there is a bare 'except:' statement (these are not
recommended) that needs to be specific 'except SomeError:'.
I did do something like this:
## code below
if __name__=="__main__":
import sys,traceback
sys.stderr = sys.stdout ##
try :
print("Content-type: text/html\n")
print("<pre>")
cgi = CGI()
print("here")
print("CGI OUTPUT TEST")
for i in range(cgi.len_path_parts()):
print("path part # %d requested: %s" % (i,str(cgi[i])))
except :
traceback.print_exc()
## /code
And I get
CGI OUTPUT TEST
path part # 0 requested: test
path part # 1 requested: this
Whether I use CGI or cgitools as the class name.
But, if I use CGI as the class name and instantiate from a large application
with numerous dependecies, the process hangs.
The same happens if I 'alias' cgitools, as in
class CGI(cgitools):
pass
You mean you leave 'class cgitools()...' alone within cgilib and just
add that? That would discredit the theory above. What if you use a
different alias, like 'moretools'? Are you on an OS where 'cgi' and
'CGI' could get confused?
It is as if some gremlin lives on my system and insists that I use
the name `cgitools' and only the name `cgitools'. I'm sure
this comes from a side effect somewhere in the process.
thanks for the reply
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list