[Distutils] [Python-Dev] Distutils ML wrap-up: setup.cfg new format
ziade.tarek at gmail.com
Wed Sep 23 15:15:24 CEST 2009
On Wed, Sep 23, 2009 at 2:56 PM, Floris Bruynooghe
<floris.bruynooghe at gmail.com> wrote:
> [original mail from python-dev
> On Tue, Sep 22, 2009 at 03:21:06PM +0200, Tarek Ziadé wrote:
>> The pseudo-grammar is (I don't know how to write those but you'll
>> get it hopefully)::
>> comp: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'
>> comparison: expr (comp_op expr)*
>> expr: STRING
>> test: or_test
>> or_test: and_test ('or' and_test)*
>> and_test: not_test ('and' not_test)*
>> not_test: 'not' not_test | comparison
> Here you're re-introducing '<', '>', '<=' and '>=' while you said 
> that you where going to drop them.
Right, that was a copy-paste typo:
comp: '=='|'!='|'in'|'not' 'in'
> I'm still not convinced of
> allowing this between strings as it will likely lead to mistakes when
> comparing "versions". I'm still tempted by making "python_version" a
> RationalVersion() so that you can use '<', '>', '<=' and '>=' safely,
> not really convinced of writing something like:
> [setup:python_version == '2.2' or python_version == '2.3' or
> python_version == '2.4']
That's quite verbose indeed, but that is required if we want to
keep string comparison.
what about keeping python_version a string, but changing the way it's created ?
python_version : string_version('%s.%s' % (sys.version_info,
where string_version() is a function that makes sure the output is
something we can compare
to strings like '2.4', etc.
I wouldn't talk about RationalVersion() from PEP 386 here, because we
just want a subset of it in this function : The Python version scheme.
Then we could re-introduce '<' and '>'
> (Can you even split section headers over multiple lines in ini-files?)
I don't think so.
Tarek Ziadé | http://ziade.org | オープンソースはすごい!
More information about the Distutils-SIG