Issue 2550505
Created on 2009-02-16 22:27 by stefan, last changed 2009-03-21 19:33 by stefan.
Files | ||||
---|---|---|---|---|
File name | Uploaded | Description | Edit | Remove |
search_matches.patch | stefan, 2009-02-16 22:27 |
Messages | |||
---|---|---|---|
msg3550 | Author: [hidden] (stefan) | Date: 2009-02-16 22:27 | |
The roundup "filter" method (see hyperdb.py) has a "search_matches" parameter that can be used to constrain the search. In particular, only elements which otherwise match the search *and* are in search_matches will be considered. Conceptually, 'search_matches' is a set. However, as some backend code calls 'has_key()' on it, it needs to be a dictionary. The attached patch simplifies this, so any sequence type may be used. OK to check in ? |
|||
msg3551 | Author: [hidden] (richard) | Date: 2009-02-16 22:38 | |
Absolutely go for it. Richard Sent from my expensive toy On 17/02/2009, at 9:27 AM, Stefan Seefeld <issues@roundup-tracker.org> wrote: > > New submission from Stefan Seefeld <stefan@codesourcery.com>: > > The roundup "filter" method (see hyperdb.py) has a "search_matches" > parameter that can be used to constrain the search. In particular, > only elements which otherwise match the search *and* are in > search_matches will be considered. > > Conceptually, 'search_matches' is a set. However, as some backend code > calls 'has_key()' on it, it needs to be a dictionary. > > The attached patch simplifies this, so any sequence type may be used. > > OK to check in ? > > ---------- > assignee: stefan > files: search_matches.patch > keywords: patch > messages: 3550 > nosy: richard, stefan > severity: normal > status: new > title: Simplify 'search_matches' argument to filter() > type: rfe > versions: devel > > ________________________________________________ > Roundup tracker <issues@roundup-tracker.org> > <http://issues.roundup-tracker.org/issue2550505> > ________________________________________________ |
|||
msg3552 | Author: [hidden] (stefan) | Date: 2009-02-16 22:43 | |
Fixed with rev:4136 |
|||
msg3649 | Author: [hidden] (loewis) | Date: 2009-03-16 01:52 | |
The patch is incorrect. It leaves the line args = args + v even though the variable v has no value anymore. I fail to see where precisely search_matches is changed to be a sequence. My testing shows it remains a dict. So the correct line should be args = args + search_matches.keys() However, this is actually what it was before, so I'm puzzled... |
|||
msg3652 | Author: [hidden] (stefan) | Date: 2009-03-17 06:34 | |
Martin v. Löwis @psf.upfronthosting.co.za wrote: > The patch is incorrect. It leaves the line > > args = args + v > > even though the variable v has no value anymore. I'd propose this fix: - args = args + v + args = args + [x for x in search_matches] as the intention of the original patch was to use 'in' so any container type would be possible. Richard, how does this look ? Thanks, Stefan |
|||
msg3654 | Author: [hidden] (stefan) | Date: 2009-03-17 07:32 | |
Martin v. Löwis @psf.upfronthosting.co.za wrote: > The patch is incorrect. It leaves the line > > args = args + v Where ? > > even though the variable v has no value anymore. > > I fail to see where precisely search_matches is changed to be a > sequence. My testing shows it remains a dict. The 'search_matches' object comes from (tracker instance) template code. All I meant to change is its handling, so it didn't have to be a dict, but could be any container type. (Using 'in' instead of 'has_key', to be more polymorphic.) Thanks, Stefan |
|||
msg3655 | Author: [hidden] (loewis) | Date: 2009-03-17 07:41 | |
> I'd propose this fix: > > > > - args = args + v > > + args = args + [x for x in search_matches] > > > > as the intention of the original patch was to use 'in' so any container > > type would be possible. Richard, how does this look ? If it is ok, I think there are a few less complicated spellings, such as args = args + list(search_matches) args.extend(search_matches) |
|||
msg3656 | Author: [hidden] (stefan) | Date: 2009-03-17 10:52 | |
Martin v. Löwis @psf.upfronthosting.co.za wrote: >> I'd propose this fix: >>> - args = args + v >>> + args = args + [x for x in search_matches] I'v checked in the above yesterday, while the tracker machine was down. >>> as the intention of the original patch was to use 'in' so any container >>> type would be possible. Richard, how does this look ? > > If it is ok, I think there are a few less complicated spellings, such > as > > args = args + list(search_matches) > args.extend(search_matches) Ah, I didn't know the above were valid ways to get the same effect. In any case, I believe it's fixed in trunk now. Please confirm, so we can close this issue. Thanks, Stefan |
|||
msg3668 | Author: [hidden] (tonimueller) | Date: 2009-03-21 17:21 | |
Hi Stefan, you wrote that you checked this patch in, esp. with this piece: >> I'd propose this fix: >>> - args = args + v >>> + args = args + [x for x in search_matches] I can't find this anywhere on trunk, so where did you check this in, please? (Running 'svn up' gives me r4209 and a message that I'm up to date.) |
|||
msg3669 | Author: [hidden] (tonimueller) | Date: 2009-03-21 17:25 | |
sorry... please disregard my last message |
|||
msg3670 | Author: [hidden] (stefan) | Date: 2009-03-21 19:33 | |
Toni Mueller wrote: > Toni Mueller <dev@tonimueller.org> added the comment: > > Hi Stefan, you wrote that you checked this patch in, esp. with this piece: > >>> I'd propose this fix: >>>> - args = args + v >>>> + args = args + [x for x in search_matches] > > I can't find this anywhere on trunk, so where did you check this in, please? On trunk (rev:4205) http://svn.roundup-tracker.org/viewvc/roundup/roundup/trunk/roundup/backends/rdbms_common.py?r1=4187&r2=4205&pathrev=4205 |
History | |||
---|---|---|---|
Date | User | Action | Args |
2009-03-21 19:33:21 | stefan | set | messages: + msg3670 |
2009-03-21 17:25:40 | tonimueller | set | messages: + msg3669 |
2009-03-21 17:21:33 | tonimueller | set | nosy:
+ tonimueller messages: + msg3668 |
2009-03-17 10:52:18 | stefan | set | messages: + msg3656 |
2009-03-17 07:41:56 | loewis | set | messages: + msg3655 |
2009-03-17 07:32:09 | stefan | set | messages: + msg3654 |
2009-03-17 06:34:44 | stefan | set | messages: + msg3652 |
2009-03-16 01:52:12 | loewis | set | nosy:
+ loewis messages: + msg3649 |
2009-02-16 22:43:44 | stefan | set | status: new -> closed resolution: fixed messages: + msg3552 |
2009-02-16 22:38:06 | richard | set | messages: + msg3551 |
2009-02-16 22:27:22 | stefan | create |