Plone: ​​тип содержимого Folderish, созданный с помощью ловкости.Как мне заполнить поля файла, изображения и форматированного текста? - PullRequest
4 голосов
/ 26 мая 2011

Я создал новый тип контента, используя Ловкость.Теперь я хочу создать контент из скрипта Python.Все хорошо со строкой ниже, и элемент генерируется в целевой папке с правильными id и date .Но как передать данные файла в поле file , данные image в поле изображения и данные richt_text в поле rich_text?

target.invokeFactory(type_name="content_type_name", id=id, date=date, file=file, image=image, rich_text=rich_text)

Дата, которую я мог выяснить;Ловкость нуждается в формате даты-времени Python:

datetime.datetime(2011,1,1)

Большое спасибо за вашу помощь - я уверен, что упустил кое-что довольно элементарное здесь, но не нашел это - вероятно, потому что я смотрю неправильноместо.

1 Ответ

7 голосов
/ 26 мая 2011

Для файла используйте plone.namedfile.NamedFile, а для изображения - plone.namedfile.NamedImage, а для расширенного текста - plone.app.textfield.value.RichTextValue

, например

from plone.namedfile import NamedFile
from plone.namedfile import NamedImage
from plone.app.textfield.value import RichTextValue

file = NamedFile("<html></html>", "text/html", u"text.html")
logo = ... some binary data in a byte string ...
image = NamedImage(logo, filename="logo.gif")
rich_text = RichTextValue(u"<p>A paragraph</p>", 'text/html', 
        'text/x-html-safe', 'utf-8')
target.invokeFactory(type_name="content_type_name", id=id, date=date, file=file,
        image=image, rich_text=rich_text)
...