一个查询解析器、构建器和额外的辅助工具,用于将存储的查询解析为实际结果,用于新式Plone集合
项目描述
概述
此包提供了一个查询解析器、查询构建器和额外的辅助工具,用于将存储的查询解析为实际结果,用于新式集合。它包括一个注册表读取器,可从Plone注册表中读取运算符、值和标准。
与Plone版本的兼容性
对于每个Plone版本,其位于 http://dist.plone.org/release/ 的versions.cfg文件都固定了一个与该Plone版本兼容的plone.app.querystring版本。最好不要选择其他版本。
但为了清晰起见,以下是两个版本之间的正确关系
在Plone 4.2上使用1.0.x。
在Plone 4.3上使用1.2.x。
在Plone 5.0上使用1.3.x。
过新的版本可能会导致问题。例如,1.1.x和1.2.x系列旨在与Plone 4.3一起使用。它们依赖于plone.batching,它是Plone 4.3的一部分,但可能会导致 问题。
变更日志
2.1.2 (2024-06-13)
内部
更新配置文件。[plone 开发者](6e36bcc4)
测试
从测试中删除未使用的 portal_properties 代码。[maurits](#125)
2.1.1 (2023-12-14)
错误修复
处理引号内的括号[erral](#139)
2.1.0 (2023-09-21)
新功能
在QuerystringRegistryReader中添加指定上下文以获取词汇表的方法.@davisagli (#137)
2.0.6 (2023-08-17)
错误修复
修复当当前用户的用户名与用户ID不同时的currentUser操作.@davisagli (#135)
2.0.5 (2023-06-16)
错误修复
修复整数操作以接受整数。@davisagli 修复整数操作,以避免在输入无效时将None添加到查询中.@davisagli (#131)
合并同一索引上的范围查询而不是覆盖。@davisagli (#132)
内部
更新配置文件。[plone 开发者](dd37b9f9)
2.0.4 (2023-05-22)
错误修复
修复对 plone.app.querystring 的循环传递依赖。在新直接依赖中明确依赖于 plone.app.vocabularies。将 plone.app.querystring.catalog.CatalogVocabularyFactory 移动到 .vocabularies,移动用于注册工厂的ZCML,移动测试。将 plone.app.querystring.utils.parse_query 以新名称 parseAndModifyFormquery 移动到 .queryparser。[@jensens](fix-circular-dep-pavocabularies)
2.0.3 (2023-04-26)
错误修复
修复循环依赖,不依赖于 plone.app.layout。[@jensens](rm-cyclic-dep)
2.0.2 (2023-03-21)
错误修复
清理工作:pyupgrade,isort,black,删除six,将导入从CMFPlone移动到plone.base,从CMFPlone复制munge_search_terms以避免对CMFPlone的依赖。[jensens](#119)
内部
更新配置文件。[plone 开发者](a533099d)
2.0.1 (2022-12-21)
错误修复
对测试进行少量清理。[gforcada](#1)
2.0.0 (2022-07-21)
错误修复
使用来自Products.CMFPlone的函数来处理搜索项的清理。修复#111 [erral](#111)
1.6.0 (2022-05-26)
新功能
添加否定查询运算符string.isNot和selection.none。包括升级步骤的 plone.app.querystring.operation.string.isNot 和 plone.app.querystring.operation.selection.none。[thet](#110)
错误修复
修复如何合并custom_query与parsedquery而不覆盖值的问题。[cekk](#103)
1.5.0 (2022-02-04)
新功能
向词汇表添加懒惰属性以防止检索任何结果 [reebalazs](#104)
1.4.15 (2021-09-15)
错误修复
删除与plone.app.vocabularies的循环依赖 [sneridagh](#101)
1.4.14 (2020-07-17)
错误修复
修复问题 #97:使用PATH_INDICES支持多个路径的Translation Groups,如jensens建议的 (#97)
1.4.13 (2020-04-20)
错误修复
进行少量打包更新。(#1)
1.4.12 (2019-10-09)
错误修复
整数标准:尝试将所有输入转换为整数。最值得注意的是,在Python 2中,这并没有发生。因此,将 u"42" 作为值传递给目录查询,这会导致匹配所有或没有任何内容。[maurits](#93)
1.4.11 (2018-12-10)
错误修复
不要显示默认配置文件为可安装(已与核心一起安装)[jensens]
1.4.10 (2018-10-31)
错误修复
修复py3上的query_index_modifiers和测试 [pbauer, gforcada]
1.4.9 (2018-09-28)
错误修复
修复一个情况,即对象ID以roots ID开头 [eikichi18]
1.4.8 (2018-02-05)
错误修复
在解析查询时忽略未知的 sort_on 索引。否则,您会收到 CatalogError。[maurits]
添加 Python 2 / 3 兼容性 [pbauer]
1.4.7 (2017-11-25)
错误修复
修复与 CMF 2.3 的测试问题 [davisagli]
修复查询构建器,当 SearchableText 是字典 {‘query’: ‘…’} 时 [tomgross]
1.4.6 (2017-09-08)
错误修复
过滤查询字符串中的不良术语和操作符。 [nngu6036]
1.4.5 (2017-06-20)
错误修复
移除 unittest2 依赖项 [kakshay21]
1.4.4 (2017-05-23)
错误修复
在升级过程中,如果查询字符串为空或不存在,则不会失败。 [agitator]
1.4.3 (2017-02-12)
错误修复
修复 QueryBuilder,在请求空查询时返回一个批处理。 [thet]
禁用“主题”(“标签”)作为可排序索引。关键字索引不可排序。 [jensens]
1.4.2 (2017-01-17)
错误修复
修复一个案例,其中包含 largerThanRelativeDate 或 lessThanRelativeDate 日期操作符的查询的索引修饰符失败,并抛出 TypeError。 [thet]
从 DateTime.interfaces 导入 DateTimeError,DateTime 3.0 中已删除 DateTime.DateTimeError 类属性 [vincentfretin]
1.4.1 (2016-11-18)
错误修复
在 Python 文件上添加编码头。 [gforcada]
1.4 (2016-08-18)
新功能
重构查询构建器中添加标准到 INavigationRoot 的代码。添加了一个简单的 IQueryModifier 接口,它期望一个查询并返回一个查询。遍历所有提供此类接口的已排序实用程序,并在解析查询之前调用它。将添加 INavigationRoot 粘性的代码移动到此类查询修饰符中。 [jensens]
错误修复
使用 zope.interface 装饰器。 [gforcada]
1.3.15 (2016-05-25)
修复
添加缺失的 _referenceIs 查询解析器 [vangheem]
1.3.14 (2016-02-19)
修复
默认将路径设置为导航根,以在集合预览和视图中获得相同的结果。 [Gagaro]
1.3.13 (2016-02-14)
新功能
能够解析更多日期字符串类型 [vangheem]
1.3.12 (2015-11-26)
修复
再次升级集合,将 selection.is 更改为 selection.any,因为标准事件和新闻集合可能在新的站点中错误创建。问题 https://github.com/plone/Products.CMFPlone/issues/1040 [maurits]
在测试中,在查询字符串中使用 selection.any。问题 https://github.com/plone/Products.CMFPlone/issues/1040 [maurits]
添加了升级步骤,将查询字符串中的 selection.is 替换为 selection.any 操作,以及使用集合行为的对象。 [thet]
1.3.11 (2015-10-30)
修复
重新发布,因为上传包时出了问题。 [maurits]
1.3.10 (2015-10-30)
修复
添加缺失的逗号以进行主题升级。 [ezvirtual]
1.3.9 (2015-10-30)
修复
修复 flake8 警告。 [maurits]
更新 README 中的兼容性信息。 [maurits]
修复结果视图图标。 https://github.com/plone/Products.CMFPlone/issues/1151 [fgrcon]
添加升级步骤以修复现有集合的主题索引。 [ezvirtual]
1.3.8 (2015-09-21)
修复合并引入的问题。 [jensens]
添加“在 N 天前/后”功能 [petschki]
修复 Sortable Indexes 以不返回 ZCTextIndex 类型索引。 [winstonf88]
1.3.7 (2015-09-11)
修复词汇表排序问题 [ebrehault]
1.3.6 (2015-08-24)
修复从 Plone 4 迁移到 Plone 5 的问题。 [pbauer]
1.3.5 (2015-08-22)
创建者标准:将当前用户置于顶部。 [mvanrees]
将 Creator string.is 迁移到 selection.any。 [mvanrees]
向 plone.app.querystring.field.Creator 添加用户词汇表。 [vangheem]
当存在“any”运算符时,不需要“is”。 [vangheem]
1.3.4 (2015-08-21)
在创建新站点时隐藏升级配置文件。 [pbauer]
将 selection.is 替换为 selection.any,用于 portal_types 和 review_state 操作,并为 Creator 操作添加 selection.any。 [frapell]
实际上将值转换为 datetime,以用于 DateIndex 查询修饰符。 [frapell]
如果调用带有空值的“Between”操作,则不会失败,而是返回包含两个空值的列表。 [frapell]
修复了与 custom_query 参数相关的问题,理论上第二次调用可能会无意中使用第一次调用的值。[maurits]
1.3.3 (2015-07-18)
默认情况下修复了 getObjPositionInParent 可排序的问题。[datakurre]
向 Subject 添加了选择器操作符 selection.any 和 selection.all。[MrTango]
1.3.2 (2015-05-04)
为整数字段实现了 is、lessThan 和 largerThan 操作符(修复了 #32)。[rodfersou]
1.3.1 (2015-03-12)
在测试中不需要将 plone.app.querystring 作为 z2 产品安装。[timo]
修复了使用 UID 的路径查询。[pbauer]
1.3 (2015-01-22)
路径条件可以定义为相对于 IPloneSiteRoot 的绝对路径、相对于 INavigationRoot 的绝对路径或相对于当前上下文的相对路径。[rnixx]
相对路径父级在 IPloneSiteRoot 上断开,而不是在 INavigationRoot 上。[rnixx]
1.2.3 (2014-10-20)
修复了构建 DateIndex 查询。[kroman0]
1.2.2 (2014-08-05)
将 show_inactive 字段的查询字段词汇声明从 AllRoles 修复为 Roles。[thet]
向 QueryBuilder._makequery 方法添加了 custom_query 参数,允许在运行时自定义存储的查询,例如通过请求参数。[thet]
在相对路径操作符中添加了对深度的支持。[djay]
1.2.1 (2014-05-14)
修复了升级步骤 upgrade_1_to_2,以防注册表中不包含命名值。[ichim-david]
添加了显示不活跃的操作,该操作使用角色词汇来分配显示或隐藏给定查询中不活跃对象的权限。[ichim-david]
将测试迁移到 plone.app.testing。[sdelcourt]
修复了当结果对象不提供 actual_result_count 属性时查询构建器代码的问题。这个问题是在版本 1.1.1 中引入的(修复了限制和批量大小处理不当的问题)。[timo]
1.2.0 (2014-04-05)
修复了 #22 的 bug:对于 getObjPositionInParent 操作和测试,名称不匹配。[jensens]
实现了多路径查询:- 解析路径始终返回一个列表。- 在 parseFormquery 中对路径进行特殊处理。[maethu]
修复了 https://dev.plone.org/ticket/13251。[mathias.leimgruber]
现在可以使用名为 IParsedQueryIndexModifier 的命名实用工具来操作查询构建器的结果。[keul]
1.1.1 (2014-01-27)
修复了处理限制和批量大小的问题。[bosim]
pep8 修复。[bosim]
1.1.0 (2013-11-14)
能够在路径查询字符串中包含深度值。[vangheem]
使用 plone.batching。[khink]
1.0.8 (2013-03-14)
修复了在 utf8 编码的 Subject 字符串上发生的 UnicodeDecodeError。[tisto]
1.0.7 (2013-01-01)
getVocabularyValues 现在检查词汇实用工具是否存在,如果不存在,则忽略该实用工具。这使得模块能够容忍缺失的词汇实用工具。[bosim]
1.0.6 (2012-10-03)
_relativePath 处理器现在可以遍历站点结构(而不仅仅是向上),_path 处理器在解析绝对路径时尊重导航根路径。[petschki]
1.0.5 (2012-06-29)
日期范围现在使用 _betweenDates 处理器,该处理器对空字段值更加宽容,如果未提供任何值,则默认为包含所有日期的范围,如果只提供起始日期,则默认为“一切在之后”的范围,如果提供了两个值,则默认为最小/最大范围。[kroman0]
修复了 http://dev.plone.org/ticket/12965。[esteele]
1.0.4 (2012-05-07)
修复了“今天之前”操作符和“x 个项目匹配您的搜索词”的国际化。[vincentfretin]
1.0.3 (2012-04-15)
向查询构建器添加了可选的 'brains' 参数,以获取未包裹为 IContentListing 的结果。[davisagli]
在 setup.py 中声明所有依赖关系,以解决测试设置中的依赖关系问题,其中 Plone 栈未完全加载。[thet]
添加了“今天”日期操作符。[esteele]
国际化注册表中的字符串。[davisagli]
将相对日期搜索更改为基于字符串的“N 天”而不是基于 datetime。[esteele]
处理相对日期字段上的空值。[esteele]
1.0.2 (2012-02-10)
将 Creator 字段更改为使用正确的查询操作来过滤当前登录用户。这修复了 https://dev.plone.org/ticket/12052。[jcerjak]
将编辑预览中显示的项目数量限制为25。如果不限制这些结果,查询中的所有项目都将显示在预览中,这会导致在集合包含>10k个结果时出现问题。[timo]
1.0.1 (2011-10-17)
确保仅向具有适当权限的用户显示非活动内容。
1.0 (2011-07-19)
初始发布
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。