[issue1820] Enhance Object/structseq.c to match namedtuple and tuple api
Marc-Andre Lemburg
report at bugs.python.org
Mon Jul 13 10:56:28 CEST 2009
Marc-Andre Lemburg <mal at egenix.com> added the comment:
Raymond Hettinger wrote:
> Raymond Hettinger <rhettinger at users.sourceforge.net> added the comment:
>
> In Py3.x, this fails:
> "%s.%s.%s-%s-%s" % sys.version_info
>
> The reason is that PyUnicode_Format() expects a real tuple, not a tuple
> lookalike. The fix is to either have structseq inherit from tuple or to
> modify PyUnicode_Format() to handle structseq:
>
> if (PyCheck_StructSeq(args)) {
> newargs = PyTuple_FromSequence(args);
> if (newargs == NULL)
> return NULL;
> result = PyUncode_Format(format, newargs);
> Py_DECREF(newargs);
> return result;
> }
-1
The special-casing of tuples vs. non-tuples for % is already
bad enough. Adding structseq as another special case doesn't
make that any better.
What's so hard about writing
"%s.%s.%s-%s-%s" % tuple(sys.version_info)
anyway ?
----------
nosy: +lemburg
title: Enhance Object/structseq.c to match namedtuple and tuple api -> Enhance Object/structseq.c to match namedtuple and tuple api
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue1820>
_______________________________________
More information about the Python-bugs-list
mailing list