On Mon, 2008-07-07 at 09:56 +0200, Philipp von Weitershausen wrote:

> > Now I want to allow description to be any descendant of ItemStructure.
> > So I had hoped that:
> >
> >    description=Object(
> >        schema=IItemStructure,
> >        title=_(u"Description"),
> >        description=_(u"Description of the activity."),
> >        required=True,
> >    )
> >
> > would provide that functionality.  It still throws a WrongTypeError.
> 
> The declaration looks ok. What throws a WrongTypeError where?
> 
> > I feel like the answer lies somewhere in the zope.interface.implement*
> > functions but I lack the Zen to get the right combination.
> 
> It's hard to tell w/o knowing what actually throws the exception.

I think I was misreading the traceback.  In stepping through the debugger I was 
able to determine 
that the <type 'unicode'> in the error is referring to description entries 
several layers up the inheritance tree.
I had copy/pasted a lot of this from the specifications document and
there are the strange backwards single and double quote characters in
the text. The documents were created with Framemaker and then saved to
PDF. 

So once I remove all those characters I can get back to the task at
hand.  

Am I correct in thinking that the above definition of
Activity.description will constrain the possible types to the classes
implementing IItemStructure or a subclass of it?


BTW: The traceback is below.  I don't think it would have been possible
to find this without stepping through the debugger and watching the
stack data.

Cheers,
Tim

  File
"/home/tim/projects/ref_impl_python/TRUNK/oship/src/oship/atbldr/bldinstruction.py",
 line 28, in bldInstruction
    actObj=bldActivity(activities,errlog,ontology)
  File
"/home/tim/projects/ref_impl_python/TRUNK/oship/src/oship/atbldr/bldactivity.py",
 line 38, in bldActivity
    actObj=Activity(descr,timing,actionArchetypeId,nodeid)
  File
"/home/tim/projects/ref_impl_python/TRUNK/oship/src/oship/openehr/rm/ehr/composition/content/entry/activity.py",
 line 40, in __init__
    self.description=descr
  File
"/home/tim/buildout-eggs/zope.schema-3.4.0-py2.4.egg/zope/schema/fieldproperty.py",
 line 52, in __set__
    field.validate(value)
  File
"/home/tim/buildout-eggs/zope.schema-3.4.0-py2.4.egg/zope/schema/_bootstrapfields.py",
 line 138, in validate
    self._validate(value)
  File
"/home/tim/buildout-eggs/zope.schema-3.4.0-py2.4.egg/zope/schema/_bootstrapfields.py",
 line 263, in _validate
    super(MinMaxLen, self)._validate(value)
  File
"/home/tim/buildout-eggs/zope.schema-3.4.0-py2.4.egg/zope/schema/_bootstrapfields.py",
 line 165, in _validate
    raise WrongType(value, self._type)
zope.schema._bootstrapinterfaces.WrongType:
(<openehr.rm.datastructures.itemstructure.itemtree.ItemTree object at
0x7f4b3be6f610>, <type 'unicode'>)
(


-- 
Timothy Cook, MSc
Health Informatics Research & Development Services
LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook 
Skype ID == timothy.cook 
**************************************************************
*You may get my Public GPG key from  popular keyservers or   *
*from this link http://timothywayne.cook.googlepages.com/home*
**************************************************************

Attachment: 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

Reply via email to