为对象内容添加搜索和替换功能的工具
slc.quickchange的Python项目详细描述
slc.quickchange
内容
- 代码库:https://svn.syslab.com/svn/syslabcom/slc.quickchange/
- 有关信息的问题和意见,请访问syslab(dot)com
Search and Replace for Plone
这个包添加了一个视图@@search replace,允许用户执行搜索 &;替换操作。可用选项:
- 递归:如果选中,则不仅搜索当前对象,还搜索所有子对象
- 对于所有语言:不仅搜索当前对象,还搜索它的所有翻译 (需要语言)
- 使用正则表达式语法:不执行文本字符串匹配,但使用python的regex
- 忽略大小写:不区分大小写的搜索(仅适用于正则表达式)
- dotall:搜索多行(仅用于正则表达式)
有两个动作:
- 仅搜索:将列出找到的所有匹配文档,不做任何修改
- 更换:进行实际更换
Examples for regex
假设您必须更改指向旧域的url。另外,网站 结构已更改,因此需要重新排列路径元素的顺序。
旧链接:
http://osha.eu.int/publications/factsheets/de/index.html
对于新链接,我们需要更改域,并将language文件夹作为第一个元素:
http://osha.europa.eu/de/publications/factsheets/index.html
对于搜索词,我们使用:
osha.eu.int/(.*?)/(..)/(.*)
括号中的内容按其外观顺序作为变量提供,如1、2等。
对于替换术语,我们使用:
osha.europa.eu/\2/\1/\3
这意味着,作为域之后的第一个元素,我们使用第二个括号(语言文件夹)。 然后是第一个,最后是第三个。
也可以使用命名的反向引用,而不是数字。当一个数字 反向引用与符号的代码冲突。假设您要替换12500号 并允许其他语言使用“.”作为分隔符。这个 搜索正则表达式:
12(\.|,)500
并替换:
13\1000
不会产生所需的结果,因为“\100”被解释为“@”。命名回溯 防止这种情况。搜索模式示例:
12(?P<delim>\.|,)500
以及相应的替换模式:
13\g<delim>000
如果有疑问,请查看regex文档:-)
Requirements and Installation
此软件包仅在安装了LinguapOne时才有效。
将“slc.quickchange”添加到构建的eggs部分 配置。运行buildout并重新启动实例后,转到 站点设置->;加载项产品,选择slc.quickchange并单击“安装”。
一个名为“搜索并替换”的新条目将出现在“操作”下拉列表中 所有对象的菜单。
Disclaimer
当心,如果你不知道自己在做什么,你可以用这个工具搞砸。没有 除了这个小文本和源代码之外的文档…
License
slc.quickchange是根据gnu lesser generic public授权的 许可证,版本2或更高版本,仅限EUPL版本1.1。完整的 许可文本可以在docs/license.gpl和docs/license.eupl中找到。
Change history
slc.quickchange更改日志
2.0.1 (2012-02-05)
- 保留文本格式[Thomasw]
2.0 (2012-02-04)
- 消除了旧的积垢,使它与PLONE 4一起工作[托马斯]
1.3 (2011-08-05)
- 添加了EUPL许可证(Deroiste)
slc.quickchange 1.2 (2009-06-17)
- 使测试工作的第一个更改(gerken)
slc.quickchange 1.1 (2009-05-12)
- 包装鸡蛋(pilz)
Contributors
- Alexander Pilz(Syslab.com股份有限公司)
- Wolfgang Thomas(Syslab.com股份有限公司)