pcdshub / superscore

Configuration Management for EPICS PVs
Other
1 stars 3 forks source link

ENH: save pre-configured filters #59

Open tangkong opened 3 months ago

tangkong commented 3 months ago

Current Behavior

There are no filters or ways to save them

Expected Behavior

I thought it might be nice to save filters. If we give the users a way to build complex search terms, we shouldn't require them to re-input them every time.

Context / environment

Ideated in #56

Steps to Reproduce (for bugs)

N/A

Suggested Solution

Filter definition

Filters could probably get by with minimal metadata (name, description, filter-contents) Filter contents should be json compatible / plain text. We'll have to build some way to parse them, possibly within the Client Possible something as simple as

filter_name: {filter_desc: desc,  kwarg: value, kwarg2: value2, ...}

Filter storage

We could store these in the config file, though this would require a plain-text / json interpretation of the search query. Plain text is probably most compatible, without this we'll have to switch the config format to something more complex than ini (toml?) Maybe the config file points to some filter storage location.

tangkong commented 3 months ago

My vision for this involves also filtering the global tree and showing only the matching entries. We'll probably have to wrap the existing RootTree model with an FilterProxyModel to do this, though it should be simple in implementation