最简单的方法来指定备用transmogrifier _path?

时间:2011-07-30 13:26:56

标签: plone transmogrifier

我正在使用collective.transmogrifier进行内容迁移,我正在使用transmogrify.filesystem从文件系统中读取文件。我不是“按原样”导入文件,而是将它们导入到Plone中的子目录中。修改_path的最简单方法是什么?

例如,如果存在以下内容:

  • /var/www/html/bar/index.html

我想导入到:

  • /Plone/foo/bar/index.html

换句话说,将“baz”的内容导入子目录“foo”。我看到两个选择:

  • 在collective.transmogrifier中使用一些蓝图来破坏_path。
  • 将一些蓝图写入mangle _path。

我错过了什么更容易吗?

1 个答案:

答案 0 :(得分:3)

使用标准inserter蓝图生成路径;它接受python表达式并可以就地替换键:

[manglepath]
blueprint = collective.transmogrifier.sections.inserter
key = string:_path
value = python:item['_path'].replace('/var/www/html', '/Plone/foo')

这样就获取value python表达式的输出(使用项_path并将其存储在同一个键下。