On Mon, 2008-07-07 at 16:55 +0200, Philipp von Weitershausen wrote: > What does ItemTree.items field have to do with Activity.description > field? I thought we're talking about the Object(schema=IItemTree) field > inside IActivity here?
An ItemTree instance is what is being assigned to Activity.description when the error is thrown. It is the descr parameter in: class Activity(Locatable): """ A single activity within an instruction. """ implements(IActivity) def __init__(self,descr,tim,atid,nodeid,**kw): self.timing=tim self.actionArchetypeId=atid self.__name__=nodeid self.description=descr for n,v in kw.items(): setattr(self,n,v) class IActivity(ILocatable): """ A single activity within an instruction. """ description=Object( schema=IItemStructure, title=_(u"Description"), description=_(u"Description of the activity."), required=True, ) ...<the rest of the definitions> self.description=descr was first but I moved it down just to be sure that I wasn't making some general mistake that would occur everywhere. class IItemTree(IItemStructure): u""" Logical tree data structure. """ items = List( title=_(u"items"), description=_(u"Physical representation of the tree."), required=False ) class ItemTree(ItemStructure): u""" Logical tree data structure. The tree may be empty. Used to represent data which are logically a tree such as audiology results, microbiology results, biochemistry results. """ implements(IItemTree) classProvides(IItemStructure) def __init__(self,items,**kw): self.items=items for n,v in kw.items(): setattr(self,n,v) The full source is at: webview http://www.openehr.org/wsvn/ref_impl_python/?sc=0 SVN http://www.openehr.org/svn/ref_impl_python/ > > Printed it looks like this: > > > > [(['include', ([(['archetype_id/value', (['/disposition\\.v1draft/'], > > {})], {})], {})], {})] <type 'list'> > > As you correctly stated in your own reply, this doesn't comply with the > List() field. The List() field expects a list object with a bunch of > unicode values in it, e.g.: [u'text', u'more text', ...]. > Right. But when I flattened the above structure (it's parse results from Pyparsing), did a unicode() conversion and built a new list. It didn't change the symptoms. [u'include', u'archetype_id/value', u'/disposition\\.v1draft/'] > > All of my source files have the unicode declaration: > > # -*- coding: utf-8 -*- as the first line. > > That's not a unicode declaration, that's just the source code encoding. > It has nothing to do with whether your objects are unicode or not. Thanks; confirmed my understanding. I guess I'm grabbing at straws here. :-) I've been Googling for a script I can run against all of my source to test characters for unicode just in case there are more of those that I copied into title or description fields. If you think of anything let me know. Otherwise I may have to write one. Thanks for your attention. --Tim
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users