[z3-five] local utility with zope 2.9.5
Dennis Schulz
d.schulz81 at gmx.net
Tue Jan 16 13:15:28 CET 2007
I registed Plone Site as Five Site and tried to register the local utility.
<five:localsite class="Products.CMFPlone.Portal.PloneSite" />
now the install script goes further, but ends up with
TypeError: ('Could not adapt', <PloneSite at /dd>, <InterfaceClass
Products.Five.site.interfaces.IFiveUtilityRegistry>)
I also made my own content type that subclasses FiveSite and implementes
IPossibleSite and for my needs it would be perfectly sufficient to
register the utility only inside the content type.........
.......but how can I reach it from the install method of my zope 2 product?
.......or how to do it in general?
2007-01-16 12:55:36 ERROR Zope.SiteErrorLog
http://localhost:8080/dd/portal_quickinstaller/installProducts
Traceback (innermost last):
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 326,
in installProduct
- __traceback_info__: ('PurchaseRequisition',)
Module transaction._manager, line 96, in commit
Module transaction._transaction, line 366, in commit
Module transaction._transaction, line 295, in savepoint
Module transaction._transaction, line 292, in savepoint
Module transaction._transaction, line 675, in __init__
Module ZODB.Connection, line 1012, in savepoint
Module ZODB.Connection, line 526, in _commit
Module ZODB.Connection, line 553, in _store_objects
Module ZODB.serialize, line 407, in serialize
Module ZODB.serialize, line 415, in _dump
PicklingError: Can't pickle <class 'OFSAnnotationUtility'>: attribute
lookup __builtin__.OFSAnnotationUtility failed
C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py:348:
DeprecationWarning: This will be removed in ZODB 3.7:
subtransactions are deprecated; use sp.rollback() instead of
transaction.abort(1), where `sp` is the corresponding savepoint captured
earlier
transaction.abort(1) #this is very naughty
2007-01-16 12:55:36 ERROR Zope.SiteErrorLog
http://localhost:8080/dd/portal_quickinstaller/installProducts
Traceback (innermost last):
Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 413,
in installProduct
- __traceback_info__: ('PurchaseRequisition',)
Module Products.CMFQuickInstallerTool.InstalledProduct, line 99, in
update
Module ZODB.Connection, line 857, in register
Module ZODB.Connection, line 867, in _register
Module transaction._transaction, line 256, in join
Module transaction._transaction, line 250, in _prior_operation_failed
TransactionFailedError: An operation previously failed, with traceback:
File
"C:\Python\Zope\Zope\lib\python\ZServer\PubCore\ZServerPublisher.py",
line 23, in __init__
response=response)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
395, in publish_module
environ, debug, request, response)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
196, in publish_module_standard
response = publish(request, module_name, after_list, debug=debug)
File
"C:\Python\Zope\Instance\Products\PlacelessTranslationService\PatchStringIO.py",
line 34, in new_publish
x = Publish.old_publish(request, module_name, after_list, debug)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
115, in publish
request, bind=1)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\mapply.py", line 88,
in mapply
if debug is not None: return debug(object,args,context)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line 41,
in call_object
result=apply(object,args) # Type s<cr> to step into published object.
File
"C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py",
line 454, in installProducts
reinstall=reinstall)
File
"C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py",
line 326, in installProduct
transaction.commit(1)
File "C:\Python\Zope\Zope\lib\python\transaction\_manager.py", line
96, in commit
return self.get().commit(sub, deprecation_wng=False)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 366, in commit
self._subtransaction_savepoint = self.savepoint(optimistic=True)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 295, in savepoint
self._saveCommitishError() # reraises!
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 292, in savepoint
savepoint = Savepoint(self, optimistic, *self._resources)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 675, in __init__
savepoint = savepoint()
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 1012,
in savepoint
self._commit(None)
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 526,
in _commit
self._store_objects(ObjectWriter(obj), transaction)
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 553,
in _store_objects
p = writer.serialize(obj) # This calls __getstate__ of obj
File "C:\Python\Zope\Zope\lib\python\ZODB\serialize.py", line 407, in
serialize
return self._dump(meta, obj.__getstate__())
File "C:\Python\Zope\Zope\lib\python\ZODB\serialize.py", line 415, in
_dump
self._p.dump(classmeta)
PicklingError: Can't pickle <class 'OFSAnnotationUtility'>: attribute
lookup __builtin__.OFSAnnotationUtility failed
C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py:426:
DeprecationWarning: This will be removed in ZODB 3.7:
subtransactions are deprecated; use sp.rollback() instead of
transaction.abort(1), where `sp` is the corresponding savepoint captured
earlier
transaction.abort(1) #this is very naughty
2007-01-16 12:55:36 ERROR Zope.SiteErrorLog
http://localhost:8080/dd/portal_quickinstaller/installProducts
Traceback (innermost last):
Module ZPublisher.Publish, line 121, in publish
Module Zope2.App.startup, line 240, in commit
Module transaction._manager, line 96, in commit
Module transaction._transaction, line 370, in commit
Module transaction._transaction, line 250, in _prior_operation_failed
TransactionFailedError: An operation previously failed, with traceback:
File
"C:\Python\Zope\Zope\lib\python\ZServer\PubCore\ZServerPublisher.py",
line 23, in __init__
response=response)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
395, in publish_module
environ, debug, request, response)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
196, in publish_module_standard
response = publish(request, module_name, after_list, debug=debug)
File
"C:\Python\Zope\Instance\Products\PlacelessTranslationService\PatchStringIO.py",
line 34, in new_publish
x = Publish.old_publish(request, module_name, after_list, debug)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line
115, in publish
request, bind=1)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\mapply.py", line 88,
in mapply
if debug is not None: return debug(object,args,context)
File "C:\Python\Zope\Zope\lib\python\ZPublisher\Publish.py", line 41,
in call_object
result=apply(object,args) # Type s<cr> to step into published object.
File
"C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py",
line 454, in installProducts
reinstall=reinstall)
File
"C:\Python\Zope\Instance\Products\CMFQuickInstallerTool\QuickInstallerTool.py",
line 326, in installProduct
transaction.commit(1)
File "C:\Python\Zope\Zope\lib\python\transaction\_manager.py", line
96, in commit
return self.get().commit(sub, deprecation_wng=False)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 366, in commit
self._subtransaction_savepoint = self.savepoint(optimistic=True)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 295, in savepoint
self._saveCommitishError() # reraises!
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 292, in savepoint
savepoint = Savepoint(self, optimistic, *self._resources)
File "C:\Python\Zope\Zope\lib\python\transaction\_transaction.py",
line 675, in __init__
savepoint = savepoint()
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 1012,
in savepoint
self._commit(None)
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 526,
in _commit
self._store_objects(ObjectWriter(obj), transaction)
File "C:\Python\Zope\Zope\lib\python\ZODB\Connection.py", line 553,
in _store_objects
p = writer.serialize(obj) # This calls __getstate__ of obj
File "C:\Python\Zope\Zope\lib\python\ZODB\serialize.py", line 407, in
serialize
return self._dump(meta, obj.__getstate__())
File "C:\Python\Zope\Zope\lib\python\ZODB\serialize.py", line 415, in
_dump
self._p.dump(classmeta)
PicklingError: Can't pickle <class 'OFSAnnotationUtility'>: attribute
lookup __builtin__.OFSAnnotationUtility failed
2007-01-16 12:55:36 ERROR root Exception while rendering an error message
Traceback (most recent call last):
File "C:\Python\Zope\Zope\lib\python\OFS\SimpleItem.py", line 223, in
raise_standardErrorMessage
v = s(**kwargs)
File "C:\Python\Zope\Instance\Products\CMFCore\FSPythonScript.py",
line 108, in __call__
return Script.__call__(self, *args, **kw)
File "C:\Python\Zope\Zope\lib\python\Shared\DC\Scripts\Bindings.py",
line 311, in __call__
return self._bindAndExec(args, kw, None)
File "C:\Python\Zope\Zope\lib\python\Shared\DC\Scripts\Bindings.py",
line 348, in _bindAndExec
return self._exec(bound_data, args, kw)
File "C:\Python\Zope\Instance\Products\CMFCore\FSPythonScript.py",
line 164, in _exec
result = f(*args, **kw)
File "Script (Python)", line 16, in standard_error_message
File "C:\Python\Zope\Zope\lib\python\Shared\DC\Scripts\Bindings.py",
line 311, in __call__
return self._bindAndExec(args, kw, None)
File "C:\Python\Zope\Zope\lib\python\Shared\DC\Scripts\Bindings.py",
line 348, in _bindAndExec
return self._exec(bound_data, args, kw)
File "C:\Python\Zope\Instance\Products\CMFCore\FSPageTemplate.py",
line 195, in _exec
result = self.pt_render(extra_context=bound_names)
File "C:\Python\Zope\Instance\Products\CMFCore\FSPageTemplate.py",
line 134, in pt_render
result = FSPageTemplate.inheritedAttribute('pt_render')(
File
"C:\Python\Zope\Zope\lib\python\Products\PageTemplates\PageTemplate.py",
line 104, in pt_render
tal=not source, strictinsert=0)()
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
238, in __call__
self.interpret(self.program)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
281, in interpret
handlers[opcode](self, args)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
749, in do_useMacro
self.interpret(macro)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
281, in interpret
handlers[opcode](self, args)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
457, in do_optTag_tal
self.do_optTag(stuff)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
442, in do_optTag
return self.no_tag(start, program)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
437, in no_tag
self.interpret(program)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
281, in interpret
handlers[opcode](self, args)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
749, in do_useMacro
self.interpret(macro)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
281, in interpret
handlers[opcode](self, args)
File "C:\Python\Zope\Zope\lib\python\TAL\TALInterpreter.py", line
507, in do_setLocal_tal
self.engine.setLocal(name, self.engine.evaluateValue(expr))
File
"C:\Python\Zope\Zope\lib\python\Products\PageTemplates\TALES.py", line
221, in evaluate
return expression(self)
File
"C:\Python\Zope\Zope\lib\python\Products\PageTemplates\Expressions.py",
line 185, in __call__
return self._eval(econtext)
File
"C:\Python\Zope\Zope\lib\python\Products\PageTemplates\Expressions.py",
line 180, in _eval
return render(ob, econtext.vars)
File
"C:\Python\Zope\Zope\lib\python\Products\PageTemplates\Expressions.py",
line 85, in render
ob = ob()
File "C:\Python\Zope\Instance\Products\CMFPlone\browser\plone.py",
line 66, in globalize
self._initializeData(options=options)
File "C:\Python\Zope\Instance\Products\CMFPlone\browser\plone.py",
line 118, in _initializeData
self._data['actions'] = actions = (options.get('actions', None) or
File "C:\Python\Zope\Instance\Products\CMFPlone\ActionsTool.py", line
46, in listFilteredActionsFor
[self._getActions(provider_name, actions, object) \
File "C:\Python\Zope\Instance\Products\CMFPlone\ActionsTool.py", line
34, in _getActions
actions.extend( provider.listActionInfos(object=object) )
File
"C:\Python\Zope\Instance\Products\CMFCore\ActionProviderBase.py", line
86, in listActionInfos
actions = self.listActions(object=object)
File "C:\PLONE\Data\Products\CMFonFive\fiveactionstool.py", line 139,
in listActions
for menu_id in _listMenuIds():
File "C:\PLONE\Data\Products\CMFonFive\fiveactionstool.py", line 32,
in _listMenuIds
return [id for id, utility in zapi.getUtilitiesFor(IBrowserMenu)]
File "C:\Python\Zope\Zope\lib\python\zope\component\__init__.py",
line 263, in getUtilitiesFor
return getSiteManager(context).getUtilitiesFor(interface)
File "C:\PLONE\Data\Products\Five\site\localsite.py", line 142, in
getUtilitiesFor
File "C:\PLONE\Data\Products\Five\site\localsite.py", line 121, in
utilities
File "C:\Python\Zope\Zope\lib\python\zope\interface\interface.py",
line 682, in __call__
raise TypeError("Could not adapt", obj, self)
TypeError: ('Could not adapt', <PloneSite at /dd>, <InterfaceClass
Products.Five.site.interfaces.IFiveUtilityRegistry>)
More information about the z3-five
mailing list