2006/2/2, Simon Belak <[EMAIL PROTECTED]>:
> I hate variable arguments. ;)
>
> Any better?

I've tried to apply the patch, but it fails for some reason (see
below)...  should it just work with
$ patch < ~/Desktop/tg.patch
from turbogears directory?

Anyhow turbogears.controllers.use_old_controllers() helps a lot for
the time being :)


***************
*** 12,23 ****
         # Argument sink
         if kwargs is None:
             kwargs = "tg_kw"
-         counter = itertools.count()
         full_sign = formatargspec(argnames, varargs, kwargs, defaults,
                         formatvalue=lambda value: "=defaults[%i]" % (
-                         counter.next()))[1:-1]
         short_sign = formatargspec(argnames, varargs, kwargs, defaults,
-                         formatarg=lambda arg: "%s=%s" % (arg, arg),
                         formatvalue=lambda value: "")[1:-1]
         exec_dict = dict(func=func, caller=caller, defaults=defaults or ())
         func_str = """
--- 12,30 ----
         # Argument sink
         if kwargs is None:
             kwargs = "tg_kw"
+         defval_count = itertools.count()
+
+         def formatarg(arg):
+             if arg == argnames[0]:
+                 return arg
+             else:
+                 return "%s=%s" % (arg, arg)
+
         full_sign = formatargspec(argnames, varargs, kwargs, defaults,
                         formatvalue=lambda value: "=defaults[%i]" % (
+                         defval_count.next()))[1:-1]
         short_sign = formatargspec(argnames, varargs, kwargs, defaults,
+                         formatarg=formatarg,
                         formatvalue=lambda value: "")[1:-1]
         exec_dict = dict(func=func, caller=caller, defaults=defaults or ())
         func_str = """



--
Ksenia

Reply via email to