This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author lemburg
Recipients lemburg, pitrou, tarek, techtonik
Date 2009-09-30.11:50:08
SpamBayes Score 3.8358206e-14
Marked as misclassified No
Message-id <4AC345EE.6080806@egenix.com>
In-reply-to <d34314100909300426r44e4c3f8v3989b624cf629606@mail.gmail.com>
Content
anatoly techtonik wrote:
>> What does changing the type of the "author" field make clearer exactly?
>> It is a field for human beings to read, and a human being is perfectly
>> able to parse "AP <ap@example.com>, Tarek <tarek@example.com>" without
>> the help of a computer.
> 
> Type of `author` is not changed. It remains a single string that
> doesn't include email. New field `authors` is introduced instead. It
> can contain a single string with comma-separated authors. It is even
> better than list.

Right, but then we have:

author
author_email
authors
maintainer
maintainer_email

for consitency, we'd also need:

author_emails
maintainers
maintainer_emails

That's even more confusing than what we already have and
it's not needed to solve the use case.

>> Most of the meta data is parsed by humans, so I don't see any
>> complication with adding multiple authors to the author field using
>> standard email format: "Anatoli <email@here>, Tarek <email@here>".
> 
> Right, but then what author_email field is for? 

No idea. I think it was a YAGNI which was not really needed.

>> In order to clear up the inconsistency with maintainer not
>> being a possible meta-data field, I think "Maintainer" should
>> be added to the meta-data. Dito for "Maintainer-EMail".
>>
>> Regarding making the meta-data fields multi-valued, you have
>> to be aware that when parsing the meta-data using an rfc822
>> style module, code assuming that only one Author field
>> exists, will return (just) one of the available fields and
>> it's not at all clear which.
> 
> This quote is totally confusing. Sounds WAY too complicated. If you're
> going to switch to meta-discussions I may fall off at some point.

The first part of the quote should be clear. We need a new
meta-field for the already existing setup() keyword parameters
maintainer and maintainer_email.

The second part is something to consider when switching from
a single value meta-data field to a multi-valued one.

The meta-data file in distutils uses the RFC 822 header format
and the rfc822 (in Python 2.x) provides easy ways of getting
at those headers.

However, if code assumes that there's only one "Author" header,
it will just see the last occurrence of that header in the file.

In summary, all that needs to be done is:

* adding the maintainer headers to the meta-data format
* documenting that multiple authors should use a comma-separated
  list of names (optionally with email addresses) in the author
  field.
* document that the author_email and maintainer_email addresses
  should be used to provide a main contact email address for
  each (e.g. the address of a mailing list)
History
Date User Action Args
2009-09-30 11:50:11lemburgsetrecipients: + lemburg, pitrou, techtonik, tarek
2009-09-30 11:50:09lemburglinkissue6992 messages
2009-09-30 11:50:08lemburgcreate