[ python-Bugs-1180267 ] expanding platform module and making it
work as it should
SourceForge.net
noreply at sourceforge.net
Wed Apr 13 13:12:36 CEST 2005
Bugs item #1180267, was opened at 2005-04-10 19:44
Message generated for change (Comment added) made by nkour
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1180267&group_id=5470
Category: Python Library
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nikos Kouremenos (nkour)
Assigned to: Nobody/Anonymous (nobody)
Summary: expanding platform module and making it work as it should
Initial Comment:
platform.release() (which is supposed to return the
Name of Windows) also does not work as it should in
some versions of windows I tried (xp pro sp1). Luckily
to print more than Windows (eg. print Windows XP or
Windows 2000 etc) you can have a look at this
http://www.brunningonline.net/simon/blog/archives/001168.html
of Simon Brunning
also only debian, mdk and redhat is scanned for
GNU/Linux ?? why even bother then?
I think that PSL is good but this module is has hell of
limitations. At least dont' make anyone write this:
import os
distro_info = {
'Arch Linux': '/etc/arch-release', 'Aurox Linux': '/etc/aurox-release', 'Conectiva Linux': '/etc/conectiva-release', 'Debian GNU/Linux': '/etc/debian_release', 'Debian GNU/Linux': '/etc/debian_version', 'Fedora Linux': '/etc/fedora-release', 'Gentoo Linux': '/etc/gentoo-release', 'Mandrake Linux': '/etc/mandrake-release', 'Slackware Linux': '/etc/slackware-release', 'Slackware Linux': '/etc/slackware-version', 'Solaris/Sparc': '/etc/release', 'Sun JDS': '/etc/sun-release', 'Novell SUSE Linux': '/etc/SuSE-release', 'PLD Linux': '/etc/pld-release', 'SUSE Linux': '/etc/SuSE-release', 'Yellow Dog Linux': '/etc/yellowdog-release', # many distros use the /etc/redhat-release for
compatibility
# so Redhat is the last
'Redhat Linux': '/etc/redhat-release'}
def get_os_info():
if os.name =='nt':
win_version = {
(1, 4, 0): "95", (1, 4, 10): "98", (1, 4, 90): "ME", (2, 4, 0): "NT", (2, 5, 0): "2000", (2, 5, 1): "XP"
}[os.sys.getwindowsversion()[3],
os.sys.getwindowsversion()[0],
os.sys.getwindowsversion()[1]]
return 'Windows' + ' ' + win_version
elif os.name =='posix':
executable = 'lsb_release'
params = ' --id --codename --release --short'
for path in os.environ['PATH'].split(':'):
full_path_to_executable = os.path.join(path,
executable)
if os.path.exists(full_path_to_executable):
command = executable + params
child_stdin, child_stdout = os.popen2(command)
output = child_stdout.readline().strip()
child_stdout.close()
child_stdin.close()
return output
# lsb_release executable not available, so parse files
for distro in distro_info:
path_to_file = distro_info[distro]
if os.path.exists(path_to_file):
file = open(path_to_file)
text = file.read().strip()
file.close()
if path_to_file.endswith('version'):
text = distro + ' ' + text
return text
print get_os_info()
Thank you
----------------------------------------------------------------------
>Comment By: Nikos Kouremenos (nkour)
Date: 2005-04-13 14:12
Message:
Logged In: YES
user_id=865368
A friend of mine has a french win xp pro. your way says to
him WP
platform.release() returns "" to him
he has used antispam and such "tools" so he must have
accidentaly removed the place where release() seems to look.
So release() doesn't do for windows what you do. I also
noticed that On a windows exploer help --> about will give
Microsoft Windows
5.1 (more info)
it won't try the magic that release() [that fail]
simon's code still works there as charm. so if release()
returns "" I try to do that other code. I would like to see
that included though [or a better code for release() to
detect the correct stuff]
along with the more linux distros and the usage of lsb_release
Comments?
----------------------------------------------------------------------
Comment By: Nikos Kouremenos (nkour)
Date: 2005-04-12 13:56
Message:
Logged In: YES
user_id=865368
ok I have it again in a friend of mine. he has win xp pro
sp1 French edition
and release() returns ""
the Simon's trick will return to him XP
which is correct!!
----------------------------------------------------------------------
Comment By: Nikos Kouremenos (nkour)
Date: 2005-04-11 15:38
Message:
Logged In: YES
user_id=865368
ok nevermind the platform.release() part for windows name.
it seems to work now.. :$
----------------------------------------------------------------------
Comment By: Nikos Kouremenos (nkour)
Date: 2005-04-10 19:46
Message:
Logged In: YES
user_id=865368
identation went to take a walk :(
I'm sorry
look here:
http://nkour.blogspot.com/2005/03/python-script-to-detect-gnulinux.html
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1180267&group_id=5470
More information about the Python-bugs-list
mailing list