跳转到主要内容

Plone的EDTF行为。

项目描述

https://secure.travis-ci.org/collective/collective.edtf_behavior.png?branch=master Coveralls License Join the chat at https://gitter.im/collective/collective.edtf_behavior

collective.edtf_behavior

一个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 >> Spring, 2001

  • 旧日期如03.08.1492

  • 搜索索引:date_earliest和date_latest

  • 排序索引:date_sort_ascending和date_sort_descending

安装

通过将其添加到您的buildout来安装collective.edtf_behavior

[buildout]

...

eggs =
    collective.edtf_behavior

然后运行 bin/buildout

在Plone附加组件部分激活该附加组件后,您可以在任何Dexterity基于的内容类型上启用此行为。

查询

from plone import api

查找最早日期为1920年2月6日或之后的任何文档。

results = api.content.find(
    portal_type='Document',
    date_earliest={
        'query': datetime.date(1920, 2, 6),
        'range': 'min',
    },
)

查找最新日期为1711年11月11日或之前的任何文档。

results = api.content.find(
    portal_type='Document',
    date_latest={
        'query': datetime.date(1711, 11, 11),
        'range': 'max',
    },
)

本包提供了一个名为edtf_start_end_rangeDateRangeInRangeIndex

查找至少与该区间的一个起始/结束日期匹配的所有文档。

results = api.content.find(
    portal_type='Document',
    edtf_start_end_range={
        'start': datetime.date(1711, 11, 11),
        'end':   datetime.date(1920, 2, 6),
    },
)

有关如何查询索引的更多示例,请参阅测试

扩展

如果需要,可以通过使用DateRangeIndex(如Plone中的有效范围索引)来改进索引。

<!-- Example of a DateRangeIndex like the effectiveRange index in Plone -->
<index name="edtf_date_range" meta_type="DateRangeIndex"
  since_field="date_earliest" until_field="date_latest" />

贡献

支持

如果您遇到问题,请告知我们。您可以在Gitter上联系我们。

许可证

本项目采用GPLv2许可。

贡献者

变更日志

1.0.3 (2019-08-26)

  • 传真测试和测试设置,小的清理工作 [MrTango]

1.0.2 (2019-03-22)

  • 将edtf_parseable验证器(约束)添加到edtf_behavior [MrTango]

1.0.1 (2019-03-18)

  • 将absolute_import语句添加到所有文件,以改进Py3支持,修复README语法 [MrTango]

1.0 (2019-03-18)

  • 在readme中添加edtf_start_end_range索引和文档查询 [MrTango]

1.0a1 (2019-03-14)

  • 初始发布,包含EDTF行为和4个主要索引。 [MrTango]

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面