Method chaining on decorator got SyntaxError
alex23
wuwei23 at gmail.com
Wed Feb 16 22:56:41 EST 2011
Makoto Kuwata <k... at kuwata-lab.com> wrote:
> I'm sad about this restriction because:
>
> @recipe.product('*.html').ingreds('$(1).rst')
> def file_html(c):
> # do something
>
> is enough simple and more readable than:
>
> @recipe.product('*.html')
> @recipe.ingreds('$(1).rst')
> def file_html(c):
> # do something
>
> But I'll follow the Python's philosophy.
Personally, I'd find this approach a lot clearer:
rst2html = recipe.product('*.html').ingred('$(1).rst')
@rst2html
def file_html(c):
# etc
It allows for easier reuse of your decorators and it labels it in a
way that I can understand from the name as opposed to having to
decipher the decorator method chain to work out its intent.
More information about the Python-list
mailing list