2015-09-17 66 views
3

在一個Plone站點我刪除了一個產品,但它的瀏覽器層不斷註冊(提高日誌中有一些例外)註銷瀏覽器層

2015-09-10T06:00:32 WARNING OFS.Uninstalled Could not import class 'ICollectiveMailchimp' from module 'collective.mailchimp.interfaces' 

我試圖刪除使用plone.browserlayer.utils.unregister_layer這一層,但它給我在KeyError例外:

>>> pprint(utils.registered_layers()) 
[. 
. 
. 
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp>, 
<InterfaceClass collective.liveblog.interfaces.IBrowserLayer>, 
<InterfaceClass collective.blueline.interfaces.IBrowserLayer>] 
>>> layer = utils.registered_layers()[-3] 
>>> layer 
<InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp> 
>>> layer.__name__ 
'ICollectiveMailchimp' 
>>> utils.unregister_layer(layer) 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer 
    raise KeyError("No browser layer with name %s is registered." % name) 
KeyError: 'No browser layer with name <InterfaceClass collective.mailchimp.interfaces.ICollectiveMailchimp> is registered.' 
>>> utils.unregister_layer(layer.__name__) 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/home/cartacapital/cartacapital.portal.buildout/eggs/plone.browserlayer-2.1.3-py2.7.egg/plone/browserlayer/utils.py", line 38, in unregister_layer 
    raise KeyError("No browser layer with name %s is registered." % name) 
KeyError: 'No browser layer with name ICollectiveMailchimp is registered.' 

我需要註銷之前再次註冊該層?

+0

您必須始終提供卸載配置文件也爲瀏覽器層:請參見http: //blog.keul.it/2013/05/how-to-make-your-plone-add-on-products.html(browserlayer.xml部分) –

回答

2

哦..我用錯了名字註銷它..這解決了我的問題:

utils.unregister_layer(name='collective.mailchimp') 

謝謝