巴隆的edtf行为。
collective.edtf-behavior的Python项目详细描述
集体.edtf_行为
一种plone行为,它提供一个EDTF日期字段和一些索引,以便在复杂的历史日期上进行搜索和排序。
注意:当前使用的库python-edtf的实现仍然使用标准的早期草稿:http://www.loc.gov/standards/datetime/pre-submission.html
功能
- 允许不特定的日期或日期间隔:“1989-11”或“1989-11~”或“1989-11-01/1989-11-30”
- 季节:2001-21>;gt;2001年春季
- 旧日期,如2014年8月3日
- 搜索索引:最早日期和最晚日期
- 排序索引:日期排序升序和日期排序降序
安装
通过将collective.edtf_行为添加到您的构建:
[buildout] ... eggs = collective.edtf_behavior
然后运行bin/buildout
激活plone add-ons部分中的加载项后,可以在任何基于灵巧性的内容类型上启用此行为。
查询
fromploneimportapi
查找最早日期为1920年2月6日或更晚的任何文档。
results=api.content.find(portal_type='Document',date_earliest={'query':datetime.date(1920,2,6),'range':'min',},)
查找最新日期为11.11.1711或更早的任何文档。
results=api.content.find(portal_type='Document',date_latest={'query':datetime.date(1711,11,11),'range':'max',},)
此包提供名为edtf_start_end_range的DateRangeInRangeIndex。
查找至少有一个开始/结束日期在该间隔内的所有文档:
results=api.content.find(portal_type='Document',edtf_start_end_range={'start':datetime.date(1711,11,11),'end':datetime.date(1920,2,6),},)
有关如何查询索引的更多示例,请查看tests。
扩展它
可以通过使用DeleRangeEindex来改进索引,如需要的话,可以使用PLONE中的有效索引。
<!-- Example of a DateRangeIndex like the effectiveRange index in Plone --><indexname="edtf_date_range"meta_type="DateRangeIndex"since_field="date_earliest"until_field="date_latest"/>
贡献
支持
如果你有问题,请告诉我们。 你可以在吉特找到我们。
1.0.3(2019-08-26)
- 传真测试和测试设置,小清理 [探戈先生]
1.0.2(2019-03-22)
- 将edtf_可分析验证器(约束)添加到edtf_行为 [探戈先生]
1.0.1(2019-03-18)
- 在所有文件中添加absolute_import语句,以改进py3支持,修复readme语法 [探戈先生]
1.0(2019-03-18)
- 在自述文件中添加edtf_start_end_range索引和文档查询。 [探戈先生]
1.0a1(2019-03-14)
- 初始释放,具有edtf行为和4个主要指标。 [探戈先生]