Message6582
On Thu, Jul 11, 2019 at 02:38:23AM +0000, John Rouillard wrote:
>
> Search filters in roundup can be transitive. From hyperdb.py:
>
> ... e.g. you can search
> for all issues where a message was added by a certain user in
> the last week with a filterspec of
> {'messages.author' : '42', 'messages.creation' : '.-1w;'}
>
> so in theory I should be able to submit a rest call as:
>
> issue?messages.author=42&messages.creation=.-1w
>
> however the current code balks at that. Stating "messages.author"
> isn't a valid property of issue. I wonder if we should rework the code
> in rest.py that does:
>
> try:
> prop = class_obj.getprops()[key]
> except KeyError:
> raise UsageError("Field %s is not valid for %s class."%(
> key, class_name))
>
> to something like:
>
> try:
> prop = class_obj.getprops()[key.split('.')[0]]
> except: ...
Yes!
I think there is even something like get_transitive_prop that does the
right thing.
> Two questions:
>
> 1) Does this seem the right thing to do? Should we support
> transitive searching in the rest interface? I don't see any
> reason it's not restful. It certainly beats searching
> messages?author=42&creation=.-1w then searching
> issues?messages=123,345,678 etc. (speaking of which
> curl 'https://....net/demo/rest/data/issue/?messages=1,2'
> returns all messages for some reason, so we may have
> another bug.)
Yes!
> 2) Does this seem to be the right way to implement it? Given a
> filter of link.link.link.property, should we check the whole link
> chain and validate the property, or do we just rely on filter
> raising an error if the filter is nonsense?
See above, I think there is already some method to check for a correct
transitive property. If it should be implemented (tm) :-)
Note that I implemented transitive properties a very long time ago :-)
Ralf
--
Dr. Ralf Schlatterbeck Tel: +43/2243/26465-16
Open Source Consulting www: http://www.runtux.com
Reichergasse 131, A-3411 Weidling email: office@runtux.com |
|
Date |
User |
Action |
Args |
2019-07-22 14:55:12 | schlatterbeck | set | recipients:
+ schlatterbeck, rouilj |
2019-07-22 14:55:12 | schlatterbeck | link | issue2551051 messages |
2019-07-22 14:55:12 | schlatterbeck | create | |
|