Unpickleable Error
Hello, why is it impossible to use HTML Objects in a Zope-Product. The HTML Object even inherits from Persistance?! I always get this UnPickleable - Error when I try below Thanks for any help.... "Error Type: UnpickleableError Error Value: Cannot pickle objects" Traceback (innermost last): File C:\Programme\Zope\lib\python\ZPublisher\Publish.py, line 150, in publish_module File C:\Programme\Zope\lib\python\Products\Localizer\__init__.py, line 65, in new_publish File C:\Programme\Zope\lib\python\ZPublisher\Publish.py, line 114, in publish File C:\Programme\Zope\lib\python\Zope\__init__.py, line 159, in zpublisher_exception_hook File C:\Programme\Zope\lib\python\ZPublisher\Publish.py, line 102, in publish File C:\Programme\Zope\lib\python\Zope\__init__.py, line 173, in commit File C:\Programme\Zope\lib\python\ZODB\Transaction.py, line 234, in commit File C:\Programme\Zope\lib\python\ZODB\Connection.py, line 346, in commit (Info: (('App.special_dtml', 'HTML'), '\x00\x00\x00\x00\x00\x00?\x10', '')) UnpickleableError: (see above) class AmazingMenu(SimpleItem,Persistence.Persistent): title = "Amazing Menu Tree" meta_type = 'Amazing Menu' manage_options = ( { 'label':'Tree','action':'manageTree' }, { 'label':'Header','action':'manageTemplates' }, { 'label':'Settings','action':'manageSettings' }, { 'label':'Consistency Check','action':'consistencycheck' }, ) consistencycheck = HTMLFile('dtml/consistency',globals()) def __init__(self,id): self.id = id self.menuHeader = HTML('<table>',globals()) self.menuItem = HTML('<tr><td><dtml-var label></td></tr>',globals()) .................
Arne Krug writes:
why is it impossible to use HTML Objects in a Zope-Product. The HTML Object even inherits from Persistance?! I always get this UnPickleable - Error when I try below Probably, your "globals()" contains something which is not picklable...
... File C:\Programme\Zope\lib\python\ZODB\Connection.py, line 346, in commit (Info: (('App.special_dtml', 'HTML'), '\x00\x00\x00\x00\x00\x00?\x10', '')) UnpickleableError: (see above)
def __init__(self,id): self.id = id
self.menuHeader = HTML('<table>',globals()) self.menuItem = HTML('<tr><td><dtml-var label></td></tr>',globals()) Try:
menuHeader= HTML('<table>', globals()) menuItem= HTML('...', globals()) instead. Your HTML objects are not instance dependent. So, why saving them in instance attributes? Dieter
participants (2)
-
Arne Krug -
Dieter Maurer