On Feb 15, 2005, at 10:09 AM, Alec Flett wrote:

Right now, we have a way of mapping a repository kind back to a python class - you just say <classes ...>*python class*</classes>

The problem I'm running into now is that I want to create an instance of a python class and an entry in the repository, but I'm not really sure what the proper way is. Specifically, I want to create an ItemCollection, but when I say

 c = ItemCollection()

I'm finding that the repository work doesn't get done - the attributes on the object don't get hooked up right, etc. I guess this makes sense though - how would it know which Kind to map the class to?

Any class that is a subclass of ContentModel.ChandlerItem knows what its kind is because the class is supposed to have myKindPath attribute set. ItemCollection is such a class, but you need to pass in at least a view or a parent to the constructor.


   c = ItemCollection(view=someView)

...will create an ItemCollection under //userdata.

After I implemented this feature (the logic lives in ChandlerItem), Andi proposed (and implemented, I believe) support for equivalent functionality within the data model itself, but I have yet to migrate our content model to it.

~morgen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to