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

M

Martin P. Hellwig

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')
 
G

Gabriel Genellina

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

Martin P. Hellwig

En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig


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

MRAB

Martin said:
En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig


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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,578
Members
45,052
Latest member
LucyCarper

Latest Threads

Top