Bug fixing and show detailed status of cooks in gui

This commit is contained in:
2019-06-11 12:25:53 +02:00
parent 1873e21c71
commit 4967364ce1
2 changed files with 35 additions and 3 deletions

10
api.py
View File

@@ -258,6 +258,11 @@ class getGrpCook(object): # Get Groups of a Cook
else:
response.media = {'TEXT': 'Error, no Cook selected','RESULT':'ERROR'}
##
# getStatusCook: Get groups from a Cook
# /get/statuscook?
# @param CookName -> Cook to show detailed status
##
class getStatusCook(object): # Get Status of a Cook (If Brief=1 is sent too, brief status (Completed:X, updated:X..))
def on_get(self,request,response):
logit(request)
@@ -273,6 +278,11 @@ class getStatusCook(object): # Get Status of a Cook (If Brief=1 is sent too, bri
else:
response.media = {'TEXT': 'Error, no Cook selected','RESULT':'ERROR'}
##
# getLastRevisionCook: Get last revision from a Cook
# /get/lastrevisioncook?
# @param CookName -> Cook to show detailed status
##
class getLastRevisionCook(object): # Get Number Revision (Revision=X)
def on_get(self,request,response):
logit(request)

View File

@@ -1,5 +1,5 @@
#!/usr/bin/python3
# Version 0.5
# Version 0.6
import easygui
import configparser
import json
@@ -53,6 +53,14 @@ def sendsettoapi(suburl,goodtext): # Send a add/del/modify to API. Doesn't retur
easygui.msgbox("Error inesperado","Error","Ok")
return 1
def returnvalueapi(apiurl,field="Name"):
try:
jsonobj = json.loads(requests.get(apiurl).text)
return jsonobj[field]
except:
easygui.msgbox(msg='Error en la aplicación al consultar', title="Error", ok_button='OK')
return None
config = configparser.ConfigParser()
config.read('configpcm.ini')
@@ -102,8 +110,7 @@ def mgroups():
sendsettoapi("/add/group?GroupName="+newgroup,"Grupo añadido a la base de datos")
elif menu == '2':
group = showchoicesapi("Lista de grupos. Selecciona uno para borrarlo","Borrar grupo",c_server+"/get/groups",'Name')
if group is not None:
if easygui.ynbox("Borrar grupo '"+group+"'. ¿Seguro?","Borrar grupo"):
if group is not None and easygui.ynbox("Borrar grupo '"+group+"'. ¿Seguro?","Borrar grupo"):
sendsettoapi("/del/group?GroupName="+group,"Grupo borrado")
elif menu == '3':
m_addcomputergroup()
@@ -127,6 +134,21 @@ def mcooks():
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para ver sus datos","Detalles de una receta",c_server+"/get/cookall",'CookName')
if cook is not None:
showchoicesapi("Lista de grupos de la receta "+cook,"Listado de grupos de una receta",c_server+"/get/grpcook?CookName="+cook)
jsonobj = json.loads(requests.get(c_server+'/get/statuscook?CookName='+cook).text)
list = []
s_err = 0
s_com = 0
s_lastrev = returnvalueapi(c_server+'/get/lastrevisioncook?CookName='+cook,"Revision")
for ite in jsonobj:
s_com = s_com + 1
if ite['Error'] == 0:
err = " implementado correctamente"
else:
err = " con errores"
s_err = s_err + 1
list.append(ite['Name']+" -> Revision "+str(ite['Revision'])+err)
easygui.choicebox("Detalles de equipos de la receta "+cook+"\nEquipos: "+str(s_com)+" Con errores: "+str(s_err)+'\nUltima revision: '+str(s_lastrev),"Detalles de una receta",list)
elif menu == '2':
cook = showchoicesapi("Lista de recetas implementadas en algún grupo. Selecciona una para renombrarla. Si la receta no está en ningún grupo, se puede renombrar desde fuera.","Renombrar receta",c_server+"/get/cookall",'CookName')
if cook is not None: