[Zope-dev] Editing an item stored inside a BTreeFolder

2008-11-30 Thread abhishek dastidar
Hi All,

I have until now learnt how to play around with BTreeFolder2.I have one
remaining doubt left.How do I edit an item that is stored inside a
BtreeFolder2? I added my own OOBTree objects inside and I would like to
manipulate the data inside the OOBTree. The only way I see is fetch the obj,
delete it and store the new one again. Any other way?

This is what I did:

...
if self.userFolder in self.aq_parent.objectIds():
pass
else:


self.manage_addProduct['BTreeFolder2'].manage_addBTreeFolder(self.userFolder,'btf2
folder ')

try:

btf = self.userFolder
uniq_id =  getattr(self.aq_parent, btf).generateId()

obT = OOBStuff(uniq_id,{'a':1,'b':2}) #This is the
object I would like to edit later.
getattr(self.aq_parent,btf)._setObject(uniq_id, obT)

obtuff = getattr(self.aq_parent,
btf)._getOb('item399638579')
testy = obtuff.return_Tree()

...

finally:
pass


class OOBStuff(BTreeFolder2):
  meta_type ='OOBStuff'
  def __init__(self, oid,dict_to_add):
 super(OOBStuff, self).__init__(oid)
 self.item = OOBTree()
 self.item['Auth'] = dict_to_add
  def return_Tree(self):
  return self.item


Here,I would like to edit(add more key:value pairs) to the OOBStuff object
that I had stored in the BTF2.

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


Re: [Zope-dev] Editing an item stored inside a BTreeFolder

2008-11-30 Thread abhishek dastidar
OK, Since my object is just another object in the zodb. I can access
the object via aq. I implemented methods to add and delete items in my
OOBTree.That solved my problem for now.

That was pretty obvious! Any suggestions?

Regards,
Abhi

On 12/1/08, abhishek dastidar [EMAIL PROTECTED] wrote:
 Hi All,

 I have until now learnt how to play around with BTreeFolder2.I have one
 remaining doubt left.How do I edit an item that is stored inside a
 BtreeFolder2? I added my own OOBTree objects inside and I would like to
 manipulate the data inside the OOBTree. The only way I see is fetch the obj,
 delete it and store the new one again. Any other way?

 This is what I did:

 ...
 if self.userFolder in self.aq_parent.objectIds():
 pass
 else:


 self.manage_addProduct['BTreeFolder2'].manage_addBTreeFolder(self.userFolder,'btf2
 folder ')

 try:

 btf = self.userFolder
 uniq_id =  getattr(self.aq_parent, btf).generateId()

 obT = OOBStuff(uniq_id,{'a':1,'b':2}) #This is the
 object I would like to edit later.
 getattr(self.aq_parent,btf)._setObject(uniq_id, obT)

 obtuff = getattr(self.aq_parent,
 btf)._getOb('item399638579')
 testy = obtuff.return_Tree()

 ...

 finally:
 pass


 class OOBStuff(BTreeFolder2):
   meta_type ='OOBStuff'
   def __init__(self, oid,dict_to_add):
  super(OOBStuff, self).__init__(oid)
  self.item = OOBTree()
  self.item['Auth'] = dict_to_add
   def return_Tree(self):
   return self.item


 Here,I would like to edit(add more key:value pairs) to the OOBStuff object
 that I had stored in the BTF2.

 Regards,
 Abhi

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