Thanks Dieter,

But I still cant get it to work. I've changed my get_attributes.py script
to this:

if not attobject:
    return ''
version = attobject.get_viewable()
nodes = version.content.documentElement.getElementsByTagName(attname) if
not nodes:
    return ''
nodeValue = nodes[0].childNodes[0].nodeValue
if not nodeValue:
    return "none"
return nodeValue

and my zpt is like this:


<span id="section_subheader" tal:define="isadditional
python:here.get_uclattribute(attobject, 'ucl_additional_name')"
tal:condition="python: isadditional !='none'" tal:attributes="id
python:here.get_uclattribute(attobject,
'ucl_additional_name_color')"><span
    tal:content="python:here.get_uclattribute(attobject,
'ucl_additional_name') or nothing" tal:omit-tag="">Website
Subheader</span></span>

But I get the following error:
Error Type: IndexError
error Value: list index is out of range

and the traceback says "Module None, line 7 in get_attributes" is the cause.

Hope you can help.

Jon




> Jon Bowlas wrote at 2005-8-2 19:08 +0100:
>> ...
>>I'm pretty new to python and zope but would like to know how I can adapt
this script below to test to see if nodeValue actually contains a value
>> and
>>if it doesn't then I would like to return a default value I can check
for using my zpt that references this script:
>
> You probably should work through the Python tutorial you will
> find on "http://python.org";.
>
>> ...
>>if not nodes:
>>
>>    return ''
>>
>>return nodes[0].childNodes[0].nodeValue
>
> Try:
>
>       nodeValue = nodes[0].childNodes[0].nodeValue
>       if not nodeValue: return "someFault"
>       return nodeValue
>
> --
> Dieter
>
>




_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to