On Wed, Sep 23, 2009 at 03:15:24PM +0200, Tarek Ziadé wrote: > On Wed, Sep 23, 2009 at 2:56 PM, Floris Bruynooghe > <[email protected]> wrote: > > [original mail from python-dev > > http://mail.python.org/pipermail/python-dev/2009-September/091947.html] > > > > 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 [0] > > 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[0], > sys.version_info[1])) > > 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 '>'
That's not a bad idea, how about defining python_version as: '%.8X' % sys.hexversion Then using '<' and '>' would work again I think, just a little harder to use. (Of course don't forget the bikeshedding about the name: python_hexversion, hexversion, ...) Floris -- Debian GNU/Linux -- The Power of Freedom www.debian.org | www.gnu.org | www.kernel.org _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
