G-Node / G-Node/python-odml

Convenience functions for filtering

未关闭
#128 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
v1.4
主要语言
Python
星标
25
派生
30
PR 合并指标
30 天内没有已合并 PR

描述

Currently it is possible to filter for specific odML objects using the iter-functions with a lambda function, e.g.:
```
odmldoc.itersections(filter_func=lambda x: x.name=="SpikeSorting" or x.type=="spikesorting")
odmldoc.iterproperties(filter_func=lambda x:x.name=="IsSpikeSorted")
odmldoc.itervalues(filter_func=lambda x: x.dtype==odml.DType.boolean and x.parent.name=="IsSpikeSorted")
```

To optimize the visibility of this functionality it would be nice to have (in addition) convenience functions for filtering (cookie-cutter-filter-functions), e.g. by objects:
```
odmldoc.filter_sections(name="SpikeSorting", type="spikesorting", operation="or")
odmldoc.filter_properties(name="IsSpikeSorted")
odmldoc.filter_values(dtype=odml.DType.boolean, parent_name="IsSpikeSorted", operation="and")
```

Or by attributes, e.g.:
`odmldoc.filter_by_name("SpikeSorting", exact=True)`

Or we even discuss the design of a "generic" filter function, e.g.:
`odmldoc.filter(objecttype=["sections", "properties"], **kwords)`
The question here is how to handle operations (and vs or) within and between search attributes.

And in addition we could think about a "template"-search.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。