[Calypso] Incorrect parsing of rrule?
Guido Günther
agx at sigxcpu.org
Tue Jan 26 09:31:58 PST 2016
On Mon, Jan 25, 2016 at 10:42:55AM +0100, Petter Reinholdtsen wrote:
> [Guido Günther]
> > Wouldn't it be simpler to exercise match_filter_element() directly
> > (introducing a new unit test class TestMatchFIlterElement). You'd then
> > have tight control on the input data and the matching rules. The
> > necessary data could be dumped out of match_filter_element() with the
> > unpatched code.
>
> Yes, this was simpler. Using match_filter() I got a working test. In
> the process I discovered that the test probably worked earlier too, as
> the query was for VTODO items while the test set had VCALENDAR an item.
> Anyway, attached are two patches to fix the handling of <time-range>.
> The first is just making the type of a return value more consistent,
> while the second actually fixes the issue.
>
> --
> Happy hacking
> Petter Reinholdtsen
> From eb2beaaecd430273133ef21bcf81eaf647fd4041 Mon Sep 17 00:00:00 2001
> From: Petter Reinholdtsen <pere at hungry.com>
> Date: Mon, 25 Jan 2016 09:30:19 +0000
> Subject: [PATCH 1/2] Make sure match_filter() return True or False, not True
> or None.
>
> This make the return consistenly a boolean, and make printing the
> result prettier.
> ---
> calypso/xmlutils.py | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/calypso/xmlutils.py b/calypso/xmlutils.py
> index e94a5e9..67290b7 100644
> --- a/calypso/xmlutils.py
> +++ b/calypso/xmlutils.py
> @@ -313,6 +313,7 @@ def match_filter(item, filter):
> for fe in filter.getchildren():
> if match_filter_element(item.object, fe):
> return True
> + return False
>
> def report(path, xml_request, collection):
> """Read and answer REPORT requests.
Applied. Thanks! Would be good to send one patch per mail in the future
to make this simpler.
Cheers,
-- Guido
More information about the Calypso
mailing list