Comment on this script. Possible error in communication with list arg between functions
Phoe6
orsenthil at gmail.com
Mon Jul 24 14:23:14 EDT 2006
Hi all,
Part of my script is to check for pre-requisite rpms to be
installed.
If its installed, I just display the rpm version as in rpm database,
otherwise I output a message saying:
' rpm is not installed' and collect the rpm name in a list
(notInstalled).
At the end if the len(notInstalled) is greater than 0 then I display
them all asking it to be installed and exit the program.
My Script is below:
-------
#!/usr/bin/env python
import os
import sys
notInstalled = []
def checkForRpm(rpmname):
''' Check for the presence of the RPM. '''
cin,cout,cerr = os.popen3('rpm -q ' + rpmname)
output = cout.read()
global notInstalled
if len(output) <= 0:
print rpmname + ' not installed.'
notInstalled.append(rpmname)
else:
print output
def preReqCheckRpms():
''' Check for the required RPMS '''
listOfRpms =
['firefox','senthil','binutils','gcc','cpp','glibc-devel','glibc-headers','glibc-kernheaders','compat-db','compat-gcc','compat-gcc-c++','compat-libstdc++','compat-libstdc++-devel','gnome-libs','openmotif21','setarch']
for eachRpm in listOfRpms:
checkForRpm(eachRpm)
global notInstalled
if len(notInstalled) > 0:
print 'The following RPMS are not installed:'
for eachRpm in notInstalled:
print eachRpm
print 'Please install them for the installation to
continue.'
sys.exit(-1)
def main():
preReqCheckRpms()
if __name__ == '__main__':
main()
----
* This is NOT Working.
* notInstalled.append(rpmname) is not taking effect in
checkForRpm(rpmname)
* I dont know how to communicate the notInstalled list to
preReqCheckRpms.
--
Senthil
More information about the Python-list
mailing list