[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Does this already exists?: A module that checks if the used platform is supported

Martin P. Hellwig

3/10/2010 1:54:00 PM

Hi all,

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.

For example I am currently looking at making a wrapper around sysctl,
for Freebsd only (2.2 onwards perhaps later I add Linux if I feel up to it.

So yes of course I can do a os.uname() but it struck me that there must
be a better way. *

If you think I made a thought error along the line and there is a better
solution, please do tell me too :-)

Thanks,

--
mph

* Something like:
test = RequirePlatform(do_not_raise=True)
test.require(platform='freebsd', version_min='2.2')
# If the platform is anything else but FreeBSD 2.2+
# raise an EnvironmentError. Otherwise, store the
# result of the test (True/False).
# Result of the require (and any additional tests
# can be accessed using the index operators

if test[0]:
print('supported')
3 Answers

Gabriel Genellina

3/11/2010 1:37:00 AM

0

En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig
<martin.hellwig@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).

--
Gabriel Genellina

Martin P. Hellwig

3/11/2010 10:47:00 PM

0

On 03/11/10 01:37, Gabriel Genellina wrote:
> En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig
> <martin.hellwig@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.


--
mph

MRAB

3/11/2010 11:09:00 PM

0

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@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.