Прежде всего: я использую экземпляр Plonce Plone 4.3 (4305) с типами содержимого Dexterity 2.0.7.
Мой подход заключается в написании скрипта Python (добавленного через ZMI), который создает мой тип контента ловкости, используя методы invokeFactory(...)
или typestool.constructContent(..)
, описанные здесь: http://plone.org/documentation/kb/add-content-programmatically (я написал два скрипта, выполняющих одну и ту же задачу, но использующих разные методы - в учебных целях)
Все работает нормально, за исключением случаев, когда я пытаюсь добавить объект DateTime в конструктор обоих методов выше, чтобы создать свой тип контента. Поле «Дата» странным образом обновляет только значения дня и года. Из-за ограничений на импорт библиотек внутри python я застрял (с моими текущими знаниями) с этим кодом:
d = DateTime('12/12/2013')
Мой скрипт возвращает объект даты после завершения, который выглядит так:
2013/12/12 00:00:00 GMT+1
Я написал еще один небольшой скрипт, который выводит значение даты после построения, и он дает мне тот же результат (что кажется правильным). Поле дня и года в результирующем типе контента обновлено правильно, но значение месяца остается в январе и при просмотре вызывает следующую ошибку TypeError:
TypeError: int() argument must be a string or a number, not 'instancemethod'
Я могу исправить это, отредактировав значение месяца вручную, что не совсем то, что я хочу. Я предполагаю, что это незначительная проблема с моим объектом DateTime, но на данный момент у меня заканчиваются идеи (общая документация кажется немного разбросанной). Я пробовал различные форматы даты внутри конструктора DateTime, но безуспешно.
Я также не уверен, как изменить значения настраиваемых полей моих объектов. Plone предоставляет только методы setTitle()
и setDescription()
. Может у кого есть хорошая подсказка.
Всем заранее спасибо, с уважением