среда, 27 марта 2013 г.

Создание файловой библиотеки

Файловая библиотека создается загрузкой файлов в выбранный фолдер Plone. Для этого находясь внутри фолдера нужно создать  новый объект типа "Файл", дать ему имя и указать файл для загрузки. Для обслуживания библиотеки нужно создать пользовательский интерфейс, частной задачей для которого будет операция поиска файла с указанным идентификатором. ля этого в ZMI в папке custom создайте объект типа Script(Python) c содержимым:
request=container.REQUEST
id_file=request['file_item']
files = context.portal_catalog.searchResults(portal_type = 'File', id=id_file)
file = files[0].getObject()
data = file.get_data()

Строка 2 скрипта: производится получение значения переменной с ключем file_item из объекта request.Предполагается, что эта переменная уже есть в REQUEST после вызова сответствующей формы или передачи параметра  через GET-запрос.
Строка 3 скрипта: производится получение выборки из portal_catalog по запросу поиска
Строка 4 скрипта: предполагаем что  файл с нужным идентификатором существует. В этом случае выборка, представляющая собой список ссылок на найденные объекты, будет содержать только один элемент. С помощью метода getObject() преобразуем ссылку в реальный объект, представляющий нужный файл в Plone.
Строка 5 скрипта: получаем содержимое файла.
Получение значений, записанных в файл, зависит от структуры записей. Как минимум, нужно разбить содержимое файла на строки, а затем получать данные из каждой строки. Способы решения этой задачи неоднократно обсуждались на занятиях.

1 комментарий:

Всероссийский конкурс  научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...