[Zope] Python script check for existence of variable - there
has to be a better way to do this.
Ria Marinussen
marinus@cs.utwente.nl
Thu, 13 Jun 2002 11:37:08 +0200
Hi Paul,
**blush**
That's what I wanted.
Seems to me I need to study the DTML-help instead of/besides python.
Thanks,
Ria
> -----Original Message-----
> From: Paul Zwarts [mailto:paz@oratrix.com]
> Sent: donderdag 13 juni 2002 11:28
> To: 'Ria Marinussen'; zope@zope.org
> Subject: RE: [Zope] Python script check for existence of variable -
> there has to be a better way to do this.
>
>
> Greetings Ria,
>
> Do you mean you want <dtml-var variable null=""> ??
>
> Cheers,
> Paz
>
> -----Original Message-----
> From: zope-admin@zope.org [mailto:zope-admin@zope.org] On
> Behalf Of Ria
> Marinussen
> Sent: Thursday, June 13, 2002 11:24 AM
> To: 'zope@zope.org'
> Subject: [Zope] Python script check for existence of variable - there
> has to be a better way to do this.
>
> Hi,
>
> In a database I have some information about our employees. Some fields
> are
> not filled in, so there value is NULL.
> When iterating over the results of a ZSQL query (select * from
> "Medewerkers") the non-existent variables (value=NULL) are
> reported with
> the
> word "None".
> I don't want show this keyword in my report-table, so I've created a
> python
> script that checks for the existence of the variable, and when it
> doesn't
> exist, I fill in a non-breaking space html -code.
>
> Basically I do two things in the script: I check the parameter and
> generate
> the name of the variable (that has to be checked)based on the
> parameter
> entered. Next I generate the output and return it.
>
> I'm convinced that the first part (check parameter, generate
> variablenaam to
> check) can be done in a more elegant way (less code), but trying to
> concatenate the value of the parameter to "context." isn't working....
>
> Ideas, anyone?
>
>
> I use this (and more) in my dtml-document:
> <table>
> <tr>
> <td><dtml-var "bestaat(test='voorletters')"></td>
> <td><dtml-var "bestaat(test='voorvoegsel')"></td>
> <td><dtml-var "bestaat(test='achternaam')"></td>
> </tr>
> </table>
>
> The script is named "bestaat":
> ## Parameter list test
> ## Bound Names context, container, script, _, traverse_subpath
> # Check the input and set the variable to check
> if test == 'voorletters':
> quest = context.voorletters
> elif test == 'voorvoegsel':
> quest = context.voorvoegsel
> elif test == 'titel':
> quest = context.titel
> elif test == 'telefoon':
> quest = context.telefoon
> elif test == 'telefoon_bgg':
> quest = context.telefoon_bgg
> elif test == 'login':
> quest = context.login
> elif test == 'leerstoel':
> quest = context.leerstoel
> elif test == 'kamernr':
> quest = context.kamernr
> elif test == 'geslacht':
> quest = context.geslacht
> elif test == 'foto':
> quest = context.foto
> elif test == 'faculteit1':
> quest = context.faculteit1
> elif test == 'faculteit2':
> quest = context.faculteit2
> elif test == 'emailadres':
> quest = context.emailadres
> elif test == 'achternaam':
> quest = context.achternaam
> else:
> quest = 'missing'
>
> # Generate the output
> if not quest:
> regel=' '
> else:
> regel=quest
>
> return regel
>
> TIA,
>
> Ria Marinussen
> Webmaster Department of Computer Science
> University of Twente
> The Netherlands
>
>
> _______________________________________________
> 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 )
>