[ python-Bugs-1180267 ] expanding platform module and making it
work as it should
SourceForge.net
noreply at sourceforge.net
Tue Apr 12 12:56:18 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-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