Skip to content
Snippets Groups Projects
Commit 1f638463 authored by Aurélie  AKLI's avatar Aurélie AKLI
Browse files

Add new file

parent 45eac917
Branches
No related tags found
No related merge requests found
"""
Class PanelLogs
"""
from tkinter import ttk, Scrollbar, PanedWindow, Text
import sys, subprocess , os, io
import contextlib
from tkinter.constants import INSERT
from pyAmakIHM.classes.panelCommandes import PanelCommandes
class PanelLogs(Text):
"""
Class PanelLogs
"""
def __init__(
self,
root : 'Tk'
) -> None :
super().__init__(root,bg='white')
"""
p = sub.Popen('./script',stdout=sub.PIPE,stderr=sub.PIPE) output, errors = p.communicate()
"""
self.__root = root
#self.__affichage = ttk.Treeview(self, columns = ("agent"))
self.__affichage=Text(self,height=300 , width=600)
self.__affichage.insert ('20.0', "end" )
# self.__affichage.place(height=300,width=600)
self.__affichage.pack()
self.__affichagecd.pack(fill='both',expand='yes')
#self.__affichage.place(height=400 , width=600)
"""
, relx=0.2575
self.__panelGraphiques = []
"""
self.__affichageScroll = Scrollbar(self.__affichage,orient="vertical",command=self.__affichage.yview)
self.__affichageScroll2 = Scrollbar(self.__affichage,orient="horizontal",command=self.__affichage.xview)
self.__affichage.configure(yscrollcommand=self.__affichageScroll.set)
self.__affichage.configure(yscrollcommand=self.__affichageScroll2.set)
self.__affichageScroll.pack(side='right',fill='y')
self.__affichageScroll2.pack(side='bottom',fill='x')
def getText(self) -> Text :
return self.__affichage
def logsDisplay(self, message : str) -> None:
place=self.getText()
place.insert("end", message)
"""
f=open("fichier.txt", 'w')
g=open("fichier.txt", 'w')
sys.stdout=f
sys.stderr=g
f.close()
g.close()
os.system("touch fichier.txt")
os.system("python main.py < fichier.txt")
with open("fichier.txt", 'w') as f:
contextlib.redirect_stdout(f)
contextlib.redirect_stderr(f)
x=open("fichier.txt", "r")
log= x.readline()
print(log)
x.close()
#os.system("rm fichier.txt")
self.__affichage.insert ('21.0', log)
self.__affichage.column ( "#0" , width = 100 , minwidth = 10 , stretch = True )
self.__affichage.column ( "agent" , width = 500 , minwidth = 100 , stretch = True)
self.__affichage.heading ( "#0" , text = "Numero cycle" , anchor = "w" )
self.__affichage.heading ( "agent" , text = "Comportement agent" , anchor = "w" )
self.__affichage.insert ( "" , 1 , "L01" , text = "Cycle 0" , values = (" "))
self.__affichage.insert ( "L01" , "end" , "L0101" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( 'Je te vois et je suis l agent 3 \n Je décide \n J agis ' ) )
self.__affichage.insert ( "L01" , "end" , "L0102" , text = " " , values = ( "Je te vois et je suis l'agent 1 \n Je décide \n J'agis " ) )
self.__affichage.insert ( "" , 2 , "L02" , text = "Cycle 1" , values = (" "))
self.__affichage.insert ( "L02" , "end" , "L0201" , text = " " , values = ( "Je te vois et je suis l'agent 2 \n Je décide \n J'agis " ) )
self.__affichage.insert ( "L02" , "end" , "L0202" , text = " " , values = ( "Je te vois et je suis l'agent 1 \n Je décide \n J'agis " ) )
self.__affichage.insert ( "L02" , "end" , "L0203" , text = " " , values = ( "Je te vois et je suis l'agent 3 \n Je décide \n J'agis " ) )
self.__affichage.insert ( "" , 3 , "L03" , text = "Cycle 0" , values = (" "))
self.__affichage.insert ( "L03" , "end" , "L0301" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0302" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0303" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0304" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0305" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0306" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0307" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0308" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0309" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0310" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0311" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0312" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0313" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0314" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0315" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0316" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0317" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0318" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0319" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0320" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0321" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0322" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0323" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0324" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0325" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0326" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0327" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0328" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0329" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0330" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0331" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0332" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0333" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0334" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0335" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0336" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert ( "L03" , "end" , "L0337" , text = "Je te vois et je suis l agent 3 Je décide J agis" , values = ( ' ' ) )
self.__affichage.insert("" ,1,"L"+str(j), text="dfhk,")
"L"+str(j)
if (sys.stderr != ""):
self.__affichage.insert( "L"+str(j),"end" , text=sys.stderr)
j=j+1
else:
sys.stdout = StdoutRedirector(self)
def ls_proc():
return Popen(['ls'], stdout=PIPE)
with ls_proc() as p:
if p.stdout:
for line in p.stdout:
self.__affichage.insert("",j,text=sys.stdout,values = (" ") )
j+1
if p.stderr:
for line in p.stderr:
self.__affichage.insert("",j,text= sys.stderr, values = (" "))
j+1
sys.stdout = redirect_stdout(self)
sys.stderr = redirect_stderr(self)
process the output of your_CLI_program
def redirect(module, method):
'''Redirects stdout from the method or function in module as a string.'''
proc = subprocess.Popen(["python", "-c","import " + module + ";" + module + "." + method + "()"], stdout=subprocess.PIPE)
out = proc.communicate()[0]
return out.decode('unicode_escape')
#with open((sys.stdout).name) as x:
with open((io.stdout).name) as x:
read_data=x.read
print(type(read_data))
#self.__affichage.insert("end",str(open(sys.stderr)))
with open(str(self.__affichage), 'w') as f:
with contextlib.redirect_stdout(f):
print('Hello, World')
stream = io.StringIO()
write_to_stream = contextlib.redirect_stdout(stream)
x=sys.stdout()
#print(type(write_to_stream))
with write_to_stream:
print("This is written to the stream rather than stdout")
self.__affichage.insert ( "end", (sys.decode(write_to_stream )))
# with write_to_stream:
# print("This is also written to the stream")
print("This is written directly to stdout")
print(stream.getvalue())
print(type(stream))
print(type(stream.getvalue()))
p = subprocess.Popen('py','/home/aurelie/Documents/pyamak-noyau/pyAmakCore/tests/memory_leak/main.py' , stdout=subprocess.PIPE ,stderr=subprocess.PIPE )
while True:
line = sys.stdout.readline()
if not line:
break
#the real code does filtering here
print ("test:", line.rstrip())
"""
#def ls_proc(root):
# return subprocess.Popen(['/home/aurelie/Documents/example/ant_example/antsLaunchExample.py'], stdout=subprocess.PIPE)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment