69 lines
2.1 KiB
Python
69 lines
2.1 KiB
Python
|
import time
|
||
|
import subprocess
|
||
|
import StringIO
|
||
|
import re
|
||
|
from wol import *
|
||
|
import os
|
||
|
import signal
|
||
|
import smtplib
|
||
|
from email.MIMEText import MIMEText
|
||
|
|
||
|
def sendTextMail(strFrom, to, strSubject, text ):
|
||
|
#from = "SimpaCluster <guillaume.raffy@univ-rennes1.fr>"
|
||
|
mail = MIMEText(text)
|
||
|
mail['From'] = strFrom
|
||
|
mail['Subject'] = strSubject
|
||
|
mail['To'] = to
|
||
|
smtp = smtplib.SMTP('smtp.univ-rennes1.fr', 25)
|
||
|
#smtp.connect()
|
||
|
#smtp.login('guillaume.raffy@univ-rennes1.fr', 'password')
|
||
|
smtp.sendmail(strFrom, [to], mail.as_string())
|
||
|
smtp.close()
|
||
|
|
||
|
def log( message ):
|
||
|
print time.asctime(time.localtime())+' : '+ message
|
||
|
|
||
|
def executeProgram( astrArguments ):
|
||
|
|
||
|
#log('executeProgram : program [%s]' % (','.join(astrArguments)))
|
||
|
popen = subprocess.Popen( astrArguments, bufsize=1, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # bufsize=1 seems to prevent deadlocks that happen 50% the time
|
||
|
stdout, stderr = popen.communicate()
|
||
|
#popen.wait()
|
||
|
result = (popen.returncode, stdout, stderr)
|
||
|
#log('executeProgram : command %s popen.pid = %d' % (astrArguments[0], popen.pid))
|
||
|
#os.kill(popen.pid, signal.SIGTERM)
|
||
|
return result
|
||
|
|
||
|
def executeCommand( command ):
|
||
|
"""
|
||
|
executes the shell command such as 'set x=1; myprog $x'
|
||
|
"""
|
||
|
popen = subprocess.Popen( [ command ], bufsize=1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) # bufsize=1 seems to prevent deadlocks that happen 50% the time
|
||
|
stdout, stderr = popen.communicate()
|
||
|
#popen.wait()
|
||
|
result = (popen.returncode, stdout, stderr)
|
||
|
return result
|
||
|
|
||
|
|
||
|
def getUpsStatus():
|
||
|
try:
|
||
|
url = 'http://Net Vision:public@129.20.27.119/PageMonComprehensive.html'
|
||
|
f = urllib.urlopen(url)
|
||
|
res = f.read()
|
||
|
f.close()
|
||
|
except:
|
||
|
print "bad read"
|
||
|
return
|
||
|
h = MyHTMLParser()
|
||
|
h.feed(res)
|
||
|
tokensList = h.GetTokenList()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
"""
|
||
|
for i in range(30):
|
||
|
machineName = 'simpatix%d' % (i+10)
|
||
|
print 'lom ip of %s is %s' % (machineName, getLightOutManagementIpAddress(machineName))
|
||
|
"""
|
||
|
wakeUp('simpatix21')
|
||
|
#print putToSleep('simpatix13')
|
||
|
#print isNonRespondingMachineSleeping('simpatix13')
|