Самый простой способ указать альтернативный 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 и сохраняет его под тем же ключом.

Другие вопросы по тегам