Самый простой способ указать альтернативный transmogrifier _path?
Я делаю миграцию контента с colleb.transmogrifier и читаю файлы из файловой системы с помощью transmogrify.filesystem. Вместо того, чтобы импортировать файлы "как есть", я хотел бы импортировать их в подкаталог в Plone. Какой самый простой способ изменить _path?
Например, если существует следующее:
- /var/www/html/bar/index.html
Я хотел бы импортировать в:
- /Plone/foo/bar/index.html
Другими словами, импортируйте содержимое "baz" в подкаталог "foo". Я вижу два варианта:
- Используйте некоторый проект в colle.transmogrifier для исправления _path.
- Напишите какой-нибудь проект, чтобы исправить _path.
Я что-то упустил?
1 ответ
Решение
Используйте стандарт inserter
проект для генерации путей; он принимает выражения Python и может заменить ключи на месте:
[manglepath]
blueprint = collective.transmogrifier.sections.inserter
key = string:_path
value = python:item['_path'].replace('/var/www/html', '/Plone/foo')
Таким образом, это берет вывод value
выражение Python (которое использует элемент _path
и сохраняет его под тем же ключом.