Salome HOME
Fix unstable failure of SALOME_TESTS/Grids/smesh/bugs_05/F0
[modules/smesh.git] / src / Tools / ZCracksPlug / output.py
1
2 from subprocess import Popen
3 from os import remove, getpid, path
4
5 def init(tmpdir):
6   global log
7   log=output(tmpdir)
8   log.initialise()
9
10 def message(typ, message, goOn=False):
11   global log
12   log.message(typ,message,goOn)
13
14 class output():
15   def __init__(self, tmpDir, tmpFile='Messages.txt'):
16     self.tmpFile=path.join(tmpDir,tmpFile)
17
18   def initialise(self):
19     try:
20       remove(self.tmpFile)
21     except:
22       pass
23     f = open(self.tmpFile,'w')
24     f.write('\n      ------------------------------\n')
25     f.write('     |   BIENVENU DANS L\'INTERFACE  |\n')
26     f.write('     |      ZCRACKS DE SALOME       |\n')
27     f.write('     |        VERSION ALPHA         |\n')
28     f.write('       ------------------------------\n\n')
29     f.close()
30
31     pid=getpid()
32     fenName='Zcracks message log'
33     proc = Popen(['xterm -T "%s" -e "tail -s 0.05 -f %s --pid=%d"' %(fenName,self.tmpFile,pid)], shell=True)
34     return()
35
36   def message(self, typ, message='', goOn=False):
37     fileName=self.tmpFile
38     f = open(fileName,'a')
39     if typ=='E':
40       f.write('ERROR: '+message+'\n')
41       #print 'ERROR: '+message
42       if not goOn:
43         exit()
44
45     elif typ in ['A','W']:
46       #print ARNING: '+message
47       f.write('WARNING: '+message+'\n')
48
49     elif typ in ['M','I']:
50       #print 'INFO: '+message
51       f.write(message+'\n')
52
53     f.close()