Nicolas Lehuen
nicolas.lehuen at gmail.com
Wed Sep 21 06:11:08 EDT 2005
Hi Daniel, Have you read this FAQ ? http://www.modpython.org/FAQ/faqw.py?req=show&file=faq02.013.htp Regards, Nicolas 2005/9/21, Daniel Winkler <mailings at danielwinkler.de>: > > Hi Jorey, > > Am Dienstag, den 20.09.2005, 19:24 -0400 schrieb Jorey Bump: > > ... and possibly some of the errors you're seeing, as well, for context? > > Are you sure the arguments referred to are in fact the ones in the > > query, and not from some other part of the code? > Okay, I'll try to extract the important parts ... > > index.py: *********************************** > > from mod_python import psp > import dirigent > import chor > [...] > > def startseite(req, chorid=0): #called startseite?chorid=1 or so > dirigent.id <http://dirigent.id> = dirigent.ermittle_dirigent(req) > chor.id <http://chor.id> = chor.ermittle_chor(chorid, dirigent.id<http://dirigent.id> > ) > [...] > > > datenbank.py: ******************************** > > import MySQLdb > db = MySQLdb.connect(host="localhost", > user="chordb", > passwd="somethingsecret", > db="chordatenbank") > > > chor.py: ************************************* > > from datenbank import db > [...] > > id = 0 > > def _acltest_ok(chorID, dirigentID): > acl = db.cursor() > (*) acl.execute("SELECT chor FROM acl WHERE chor = %s AND dirigent = %s", > (chorID, dirigentID)) > return (int(acl.rowcount) > 0) > > > def ermittle_chor(chorID, dirigentID): > if ( (chorID > 0) > and _acltest_ok(chorID, dirigentID) ): > return chorID > else: > choere = db.cursor() > (*) choere.execute("SELECT chor FROM acl WHERE dirigent = %s;", > (dirigentID)) > > if int(choere.rowcount) == 1: > chor = choere.fetchone() > return chor[0] > else: > return 0 > > > The (*) marked lines are those where the error occurs most at the > moment. E.g.: > > ****************************************** > od_python error: "PythonHandler mod_python.publisher" > > Traceback (most recent call last): > > File "/usr/lib/python2.3/site-packages/mod_python/apache.py", line 299, in > HandlerDispatch > result = object(req) > > File "/usr/lib/python2.3/site-packages/mod_python/publisher.py", line 136, > in handler > result = util.apply_fs_data(object, req.form, req=req) > > File "/usr/lib/python2.3/site-packages/mod_python/util.py", line 361, in > apply_fs_data > return object(**args) > > File "<somewhere>/index.py", line 49, in lied > chor.id <http://chor.id> = chor.ermittle_chor(chorid, dirigent.id<http://dirigent.id> > ) > > File "<somewhere>/chor.py", line 18, in ermittle_chor > if ( (chorID > 0) > > File "<somewhere>/chor.py", line 11, in _acltest_ok > acl.execute("SELECT chor FROM acl WHERE chor = %s AND dirigent = %s", > (chorID, dirigentID)) > > File "/usr/lib/python2.3/site-packages/MySQLdb/cursors.py", line 132, in > execute > self.errorhandler(self, TypeError, m) > > File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line 33, > in defaulterrorhandler > raise errorclass, errorvalue > > TypeError: argument 2 must be a mapping > ********************************* > > The first time I load the page, everything is fine. This error occurs > after the first or second page reload (same code, same parameters). > Don't ask me why ... > > I had even more strange errors like "syntax errors" in a line called > "c = 1" in a PSP file, but I cannot reproduce them at the moment. (maybe > after the problem above is fixed :-) > BTW, I am new to Python so if you have additional hints what can be done > better: everything is welcome. > Okay, yes, I know that global variables aren't very nice, but I thought > it is not necessary to build a class just for one object ... ;-) > > > TIA > Daniel > > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20050921/83ec8480/attachment-0001.html
|