Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

0 views
Skip to first unread message

Martin P. Hellwig

unread,
Mar 10, 2010, 8:54:27 AM3/10/10
to
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')

Gabriel Genellina

unread,
Mar 10, 2010, 8:37:01 PM3/10/10
to pytho...@python.org
En Wed, 10 Mar 2010 10:54:27 -0300, Martin P. Hellwig
<martin....@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

unread,
Mar 11, 2010, 5:46:57 PM3/11/10
to
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

unread,
Mar 11, 2010, 6:09:05 PM3/11/10
to pytho...@python.org
It might be useful for up-front checking in those platform-specific
scripts, although the platform module might already be fulfilling that
need.
0 new messages