plone插件修复原型文件字段mimetypes

collective.updatemimetype的Python项目详细描述


此plone加载项可用于更新blob字段的中断mimetype。

当文件或图像上载到blob字段时,将计算其mimetype 基于来自mimetypes_registry的信息。

如果注册表缺少某些信息,则计算的mimetype可能是错误的 或者太笼统了。

例如,在Products.MimetypeRegistry的2.0.7版之前, plone门户的默认mimetypes_registry没有 了解openxml的mimetypes。那些文件会得到application/zip 而不是他们合适的mimetype。

由于mimetype的计算只在加载时进行,因此升级 Products.MimetypeRegistry不足以修复损坏的mimetype。

函数collective.updatemimetype.migrate遍历内容,查找 如果blob字段再次上载,它们将获得不同的mimetype, 并更新那些字段类型。 它可以通过genericsetup升级步骤调用:

from collective.updatemimetype import migrate

migrate(portal)

小心!

如果您的门户保持不变,则更新可能需要大量内存并需要很长时间 很多内容。

如果要限制迁移到特定内容项,可以传递querymigrate函数的参数。例如,上面的代码同时更新File 以及默认plone站点的Image内容项,下面的代码将 仅更新File内容项:

from collective.updatemimetype import migrate

catalog_query = {'portal_type': 'File'}

migrate(portal, catalog_query)

门户上还注册了一个视图。呼叫:

http://my_domain/my_portal/updatemimetype

也可以使用query参数调用视图。将更新限制为 File个项目,用以下命令调用视图:

http://my_domain/my_portal/updatemimetype?query.portal_type:record:string=File

贡献者

更改日志

0.1.2(2015-07-06)

  • 修正了对目录查询结果的更新限制。 并记录如何做到这一点。 [明白]

0.1.1(2015-06-30)

  • 固定分类器 [明白]

0.1(2015-06-29)

  • 初次发布。 [明白]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring AOP:在方法之间交换信息   数组Java将字符串转换为字符[]   堆内存java。lang.OutOfMemoryError:PermGen space+java   安卓 Java。lang.ClassCastException:无法将活动强制转换到接口   java尝试使用气泡排序将随机整数数组从最大到最小排序   线程“main”java中的indexoutofboundsexception异常。lang.ArrayIndexOutofBounds异常:发电机处为3。main(Generator.java:35)   java“宽大”有什么用?   java SimpleCaptcha NoSuchMethodError   java在哪里部署Web服务的jar依赖项?   Java8获取列表中连续数字的函数方法   java为什么JWT令牌不安全?   java Uber API:在请求或发出令牌时指定多个作用域会返回无效的请求参数   java如何使用映射器从包含多个引用单元的JSON字符串中获取对象列表?   java警告匿名子类(?)没有串行版本   Jackson 2.9.0中的java JsonGenerationException。pr1   java试图打印多个catch语句   java如何创建一个sql表并获得每个唯一字段的平均价格?   java为什么SetMinimumSize设置最小高度而不是宽度?   java与使用POI合并的混淆   java在Xpath中使用“AND”和“normalizespace”时在不同浏览器中遇到不同的错误