ER: [Zope] Looking if a record with a given key exists in a database several times, in dtml

Igor Leturia IGOR@emun.com
Mon, 18 Feb 2002 13:16:00 +0100


  Hi Steve!

  I've tried your suggestion (and I think I've done it correctly), but I
get an error:

Zope Error
Zope has encountered an error while publishing this resource.

Error Type: AttributeError
Error Value: key

  Any idea?

				Igor Leturia

>-----Jatorrizko mezua-----
>Nondik: Steve Spicklemire [mailto:steve@spvi.com]
>Bidalia: Igandea, 2002.eko otsailak 17 21:13
>Nora: Igor Leturia
>Cc: Steve Spicklemire; zope@zope.org
>Gaia: Re: [Zope] Looking if a record with a given key exists in a
>database several times, in dtml
>
>
>Your idea sounds reasonable..  are you asking how to implement=20
>it, or is=20
>there some other problem? I would think you could create a=20
>python script=20
>that returns a dictionary that could be used to lookup results.=20
>Something like:
>
>buildCache with argument "results"
>
>cache_dict =3D {}
>
>for result in results:
>	cache_dict[result.key] =3D result
>
>return cache_dict
>-----------------
>
>called from DTML as:
>
><dtml-let theCache=3D"buildCache(results=3DyourQuery())">
><dtml-in ....>
><dtml-if "theCache.has_key(yourTestKey)">
><dtml-let theResult=3D"theChache[yourTestKey]">
>Do something with "theResult"..
></dtml-let>
></dtml-if>
></dtml-in>
></dtml-let>
>
>Does that help?
>-steve
>=09
>On Sunday, February 17, 2002, at 02:42  PM, Igor Leturia wrote:
>
>>   Hi all!
>>
>>   I have a problem: in dtml, I have to iterate through a=20
>very big list
>> and for each item I must look if there is a record with that key in a
>> database. I can't run a 'select' ZSQLMethod for each,=20
>because it would
>> take too long. What I want to do is run the 'select'=20
>ZSQLMethod once and
>> load the results in a variable (an array or dictionary)=20
>which then will
>> be faster to look up in, or look up in the results of that=20
>query in some
>> fast way.
>>
>>   I have searched zope.org, but found nothing. Any ideas?
>>
>> 					Igor Leturia
>>
>> _______________________________________________
>> Zope maillist  -  Zope@zope.org
>> http://lists.zope.org/mailman/listinfo/zope
>> **   No cross posts or HTML encoding!  **
>> (Related lists -
>>  http://lists.zope.org/mailman/listinfo/zope-announce
>>  http://lists.zope.org/mailman/listinfo/zope-dev )
>
>