我想使用已上传到图库的照片中的EXIF数据。特别是,我希望能够在拍摄照片的EXIF日期对文件夹或集合的plonetruegallery视图中的图像进行排序。谷歌搜索告诉我,ATImage类型确实存储了EXIF数据,但我最近没有看到任何使用它的东西。即使我可以获取图像导入以将创建日期更改为从EXIF DateTimeOriginal获取的日期,那么这将是很好的。
还有其他人试图实现这个目标吗?
答案 0 :(得分:2)
由于您的使用案例非常狭窄,因此其他人不太可能尝试使用Plone。一些通用指针:
使用EXIF-py
戳存储在ImageField中的原始图像数据https://github.com/ianare/exif-py
混杂。有关Archeypes图像和文件字段的信息:
http://collective-docs.readthedocs.org/en/latest/content/archetypes/files.html
答案 1 :(得分:2)
对于iptc元数据(大多数图像工具存储两个元数据),您可以尝试http://pypi.python.org/pypi/unweb.iptc
这是一个使用事件订阅者的灵活而现代的解决方案。 如果你只有exif元数据,你可以重复使用代码并使用exif-py
执行相同的操作答案 2 :(得分:1)
ATPhoto(http://plone.org/products/atphoto/)非常过时,你不应该批量使用它,但是你可以看看它如何解析EXIF标签的灵感(以及代码重用)
答案 3 :(得分:0)
默认情况下,ATImage对象继承自imagetransform,因此它们有一个名为getExif()的方法:https://github.com/plone/Products.ATContentTypes/blob/master/Products/ATContentTypes/lib/imagetransform.py#L87
集成到图库取决于您,并且不应该比在标题中执行context / getExif并显示您想要的方式困难。
这里插件的主要问题是性能和依赖性。使用python进行解析,存储,同步,这是一个非常大的IMO问题的来源。
我已经尝试了很多python包promise来提取和构造exif而没有真正开箱即用的解决方案。