[Zope] Help using list within python method (Solved?)
Michael Long
mlong@datalong.com
Fri, 21 Mar 2003 16:13:00 -0500
I changed line 182 to read:
if groups == entry.Group:
and it seems to work. I still don't understand why the "in" operator
does not work as expected.
Mike
>
> I have a method that is returning an error that I have not been able to
> resolve. I have tried to duplicate the error in python to no avail. I am
> sure the solution is very simple I just don't see it.
>
> tia,
> Mike
>
> Here is the method:
>
> 172 def listEntriesByGroup(self, groups=["All"]):
> 173 "Method to list Entries"
> 174 ret=[]
> 175 if type(groups) != ListType:
> 176 EntryIDs = [groups]
> 177 if groups == "All":
> 178 for entry in self.Entries.values():
> 179 ret.append(entry)
> 180 else:
> 181 for entry in self.Entries.values():
> 182 if entry.Group in groups:
> 183 ret.append(entry)
> 184 return ret
>
> The traceback is:
>
> Traceback (innermost last):
> Module ZPublisher.Publish, line 98, in publish
> Module ZPublisher.mapply, line 88, in mapply
> Module ZPublisher.Publish, line 39, in call_object
> Module Products.dlAddressBook.AddressBook, line 134, in index_html
> Module Shared.DC.Scripts.Bindings, line 252, in __call__
> Module Shared.DC.Scripts.Bindings, line 283, in _bindAndExec
> Module Products.PageTemplates.PageTemplateFile, line 96, in _exec
> Module Products.PageTemplates.PageTemplate, line 95, in pt_render
> - <PageTemplateFile at /TEST/test/>
> Module TAL.TALInterpreter, line 186, in __call__
> Module TAL.TALInterpreter, line 230, in interpret
> Module TAL.TALInterpreter, line 689, in do_useMacro
> Module TAL.TALInterpreter, line 230, in interpret
> Module TAL.TALInterpreter, line 712, in do_defineSlot
> Module TAL.TALInterpreter, line 230, in interpret
> Module TAL.TALInterpreter, line 578, in do_insertStructure_tal
> Module Products.PageTemplates.TALES, line 217, in evaluate
> - URL: main_page
> - Line 14, Column 16
> - Expression: standard:'here/content'
> - Names:
> {'container': <AddressBook at /TEST/test>,
> 'default': <Products.PageTemplates.TALES.Default instance at
> 0x868e42c>,
> 'here': <AddressBook at /TEST/test>,
> 'loop': <SafeMapping instance at 84c75e0>,
> 'modules':
> <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at
> 0x86b2b7c>,
> 'nothing': None,
> 'options': {'args': (<AddressBook at /TEST/test>,
> <HTTPRequest,
> URL=http://zeus:8080/TEST/test/index_html>)},
> 'repeat': <SafeMapping instance at 84c75e0>,
> 'request': <HTTPRequest,
URL=http://zeus:8080/TEST/test/index_html>,
> 'root': <Application instance at 9643db0>,
> 'template': <PageTemplateFile at /TEST/test/>,
> 'traverse_subpath': [],
> 'user': admin}
> Module Products.PageTemplates.Expressions, line 206, in __call__
> Module Products.PageTemplates.Expressions, line 201, in _eval
> Module Products.PageTemplates.Expressions, line 100, in render
> Module Products.PageTemplates.ZRPythonExpr, line 74, in call_with_ns
> Module Shared.DC.Scripts.Bindings, line 266, in
__render_with_namespace__
> Module Shared.DC.Scripts.Bindings, line 283, in _bindAndExec
> Module Products.PageTemplates.PageTemplateFile, line 96, in _exec
> Module Products.PageTemplates.PageTemplate, line 95, in pt_render
> - <PageTemplateFile at /TEST/test/>
> Module TAL.TALInterpreter, line 186, in __call__
> Module TAL.TALInterpreter, line 230, in interpret
> Module TAL.TALInterpreter, line 459, in do_setLocal_tal
> Module Products.PageTemplates.TALES, line 217, in evaluate
> - URL: indexAddressBook
> - Line 1, Column 0
> - Expression: <PythonExpr here.listEntriesByGroup(SelectedGroup)>
> - Names:
> {'container': <AddressBook at /TEST/test>,
> 'default': <Products.PageTemplates.TALES.Default instance at
> 0x868e42c>,
> 'here': <AddressBook at /TEST/test>,
> 'loop': <SafeMapping instance at 90ae240>,
> 'modules':
> <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at
> 0x86b2b7c>,
> 'nothing': None,
> 'options': {'args': ()},
> 'repeat': <SafeMapping instance at 90ae240>,
> 'request': <HTTPRequest,
URL=http://zeus:8080/TEST/test/index_html>,
> 'root': <Application instance at 9643db0>,
> 'template': <PageTemplateFile at /TEST/test/>,
> 'traverse_subpath': [],
> 'user': admin}
> Module Products.PageTemplates.ZRPythonExpr, line 48, in __call__
> - __traceback_info__: here.listEntriesByGroup(SelectedGroup)
> Module Python expression "here.listEntriesByGroup(SelectedGroup)",
> line 2, in f
> Module Products.dlAddressBook.AddressBook, line 182, in
listEntriesByGroup
> TypeError: 'in <string>' requires character as left operand
>
>
>
> _______________________________________________
> 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 )
>
>