2015-07-09 1 views
1

Для веб-приложения я и моя команда работают с рамкой Zope 2 (http://docs.zope.org/zope2/). Он обеспечивает удобный веб-интерфейс, с помощью которого вы можете создавать, редактировать и удалять файлы и папки. Предположим, у меня есть корневая папка '/', используя интерфейс, я могу без проблем добавить новую папку. Теперь я хочу управлять тем же сценарием python, но я не смог заставить это работать.Добавление папки zope с помощью python

Некоторые из подходов, которые я попробовал в Zope (в скрипте, который бежит от «/»):

context.manage_addFolder(id='name', title='') 
container.manage_addFolder(id='name', title='') 
container.manage_addProduct['OFSP'].manage_addFolder(id='name', title='') 
container.restrictedTraverse('/').manage_addFolder(id='name', title='') 
container.restrictedTraverse('/').manage_addProduct['OFSP'].manage_addFolder(id='name', title='') 

Однако ни один из них не создает папку. Странная вещь заключается в том, что скрипт выполняется отлично, поскольку ошибки не генерируются, но не создает никакой папки. Сначала я думал, что это может быть правкой, но странное поведение сохранялось даже тогда, когда я разрешал все разрешения для каждого пользователя в Zope.

Wat am I do not wrong here?

ответ

0

Все это работает для меня, когда выполняется на 2.13.x Zope с ролью менеджера как питон скрипт внутри Zope интерфейса:

context.manage_addFolder('justatest') 
container.manage_addFolder('justatest2') 

Самый простой способ, чтобы позволить обычным пользователям создание папок для назначения роль прокси-сервера для скрипта python, который создает папку. Роль менеджера удобна, но вы должны подготовить роль с меньшими разрешениями для этой задачи.