Keyword argument parsing in error in 2.0?

Steve Holden sholden at holdenweb.com
Sat Jun 9 17:50:19 CEST 2001


Many thanks. Seems to be fine now.

regards
 STeve

"Tim Peters" <tim.one at home.com> wrote in message
news:mailman.992039114.3451.python-list at python.org...
> [Steve Holden]
> > ...
> > c.UNION(c.SELECT(["l.beer", "l.drinker", ["count(distinct s.bar)",
> > "nbars"]],
> >         FROM=[["likes", "l"], ["serves", "s"]],
> >         WHERE="l.beer=s.beer",
> >         REST="group by l.beer, l.drinker"),
> >         c.SELECT("distinct beer, drinker, 0 as nbars",
> >         FROM="likes",
> >         WHERE="beer not in (%s)" %
> >             c.SELECT("beer",
> >                 FROM="serves")),
> >                 REST="order by 3 desc")
> >
> > This validates fine in PythonWin, but when the module containing it is
> > executed I get:
> >
> > Traceback (most recent call last):
> >   File "alltest.py", line 396, in ?
> >     REST="order by 3 desc"),
> > TypeError: keyword parameter redefined: REST
>
> If you count your parens , I think you'll discover that the indentation on
> the final REST is misleading; clearer is:
>
>         WHERE="beer not in (%s)" %
>             c.SELECT("beer",
>                 FROM="serves")),
>         REST="order by 3 desc")
>
> and that explains why it thinks you specified REST twice:  you did <wink>.
> PythonWin (or IDLE) should have shown you that when you hit ENTER on the
> preceding line, though (they use the same auto-indent algorithm under the
> covers, and it aligns the new line under WHERE).
>
>
>





More information about the Python-list mailing list