Патч Monkey для добавления отсутствующего интерфейса - PullRequest
0 голосов
/ 20 сентября 2018

Как можно colle.monkeypatcher использовать для добавления IFooBar в someproduct?

Это то, что я пытался, и это неправильно (потому что IFooBar несуществует в исходном продукте.)

<monkey:patch description="Create missing FooBar interface"
              class="someproduct.interfaces.IFooBar"
              original="IFooBar"
              replacement="myproduct.patches.IFooBar"
              docstringWarning="true" />

Ошибка ConfigurationError: ('Invalid value for', 'class', 'ImportError: Module someproduct.interfaces has no global IFooBar').

Моя конечная цель - пропустить эту ошибку: PicklingError: Can't pickle <class 'someproduct.interfaces.IFooBar'>: attribute lookup someproduct.interfaces.IFooBar failed получено, когда я пытаюсь активировать / деактивировать add-

Это потому, что я установил новую версию someproduct с IFooBar, затем я вернулся к более старой версии (не IFooBar) без удаления надстройки.

Обновление:

Замена строки:

class="someproduct.interfaces.IFooBar"

на

class="someproduct.interfaces"

это то же самое.Ошибка: ConfigurationError: Original IFooBar in <module 'someproduct.interfaces' from '/plone/buildout-cache/eggs/someproduct-1.2-py2.7.egg/some/path/interfaces.pyc'> not found.

1 Ответ

0 голосов
/ 20 сентября 2018

О.Просто добавьте: ignoreOriginal="true"

...