From: MRAB on
Martin P. Hellwig wrote:
> On 03/11/10 01:37, Gabriel Genellina wrote:
>> En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig
>> <martin.hellwig(a)dcuktec.org> escribi�:
>>
>>> Before I start reinventing a squared wheel, I have the following
>>> question:
>>> Is there already a (standard) module that wraps around the various
>>> os/sys information which checks if the platform + version is supported
>>> for what I want to do with it.
>>
>> In case you were not aware of it: see the platform module. But you'll
>> have
>> to do the checks yourself (based on the info it returns).
>>
> Thanks for the reminder, it indeed slipped my mind.
>
> As Python features are luckily mostly platform independent, I am not
> sure if a convenient 'platform requirement check' module would be worth
> the energy creating it, any thoughts on that?
>
> For clarity purpose I re'added (and adapted) in what lines I was thinking:
> -
> test = RequirePlatform(do_not_raise=True)
> # If do_not_raise is not set or False, an error will be raised
> # after a failed require line, otherwise just continue.
>
> test.require(key='test1', platform='freebsd', version_min='2.2')
> # If the platform is anything else but FreeBSD 2.2 onwards return False
> # and store the result of the test.
> # Result of the require (and any additional tests
> # can be accessed using the index operators;
>
> if test['test1']:
> print('supported')
> -
> Other requirements like architecture, python vm type/version, cpu
> features, etc. Might also be nice to have.
>
It might be useful for up-front checking in those platform-specific
scripts, although the platform module might already be fulfilling that
need.