Fix bugs and started translation.

This commit is contained in:
2019-06-17 12:37:01 +02:00
parent 4967364ce1
commit 746765a146
6 changed files with 313 additions and 57 deletions
+14 -4
View File
@@ -1,4 +1,4 @@
# Build 5
# Build 7
$root = $PSCommandPath | Split-Path -Parent
$server = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).server
$resources = (Get-Content "$root\configpcm.ini" | select -Skip 1 | ConvertFrom-StringData).resources
@@ -9,8 +9,12 @@ $UUID=(get-wmiobject Win32_ComputerSystemProduct).UUID
$exists = Invoke-RestMethod -Method Get -Uri "$server/get/computerexists?ComputerName=$computerName&UUID=$UUID"
if ($exists.Result -eq "ERROR"){
Write-Host "Computer outside database:" $computerName
exit
if ($exists.EXITCODE -eq '1'){
Write-Host "Computer outside database:" $computerName
}else{
Write-Host "Computer and UUID of $computerName doesn't match"
}
exit
}
$Timestamp = [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds
@@ -100,7 +104,13 @@ foreach ($CookName in $cooks){
Invoke-Expression $param
if ($? -eq $false){ # Error in CMD
$err = 1
}
}
}
"PWSCRIPT" { # Run a powershell script. Note: Runs as high priv.
Invoke-Expression -Command $param
if ($? -eq $false){ # Error in Script
$err = 1
}
}
"REPOTOLOCAL" { # Copy file from repo location to local ($env:temp) for use in cmd or other things
Copy-Item "$resources\$param" $env:temp -ErrorVariable errvar -Recurse -Force
+2 -1
View File
@@ -1,2 +1,3 @@
server=http://miserver.dominio:3333
resources=\\\\MISERVER\\REPOFOLDER
resources=\\\\MISERVER\\REPOFOLDER
lang=es
+45 -34
View File
@@ -1,10 +1,11 @@
#!/usr/bin/python3
# Version 0.6
# Version 0.61
import easygui
import configparser
import json
import requests
import subprocess, platform
from translation import T
def ping(host):
"""
@@ -40,10 +41,15 @@ def sendsettoapi(suburl,goodtext): # Send a add/del/modify to API. Doesn't retur
global c_server
try:
jsonobj = json.loads(requests.get(c_server+suburl).text)
#jsonobj['RESULT'] has to exist for next if
try:
jsonobj['RESULT']
except:
jsonobj['RESULT'] = ""
if jsonobj is not None and jsonobj['RESULT'] is not None and jsonobj['RESULT'] == 'ERROR':
if jsonobj['TEXT']:
try:
easygui.msgbox(jsonobj['TEXT'],"Error","Ok")
else:
except:
easygui.msgbox("Error no especificado","Error","Ok")
return 1
else:
@@ -70,7 +76,7 @@ c_resources = config['General']['resources'].replace('\\\\','\\')
def menuprinc():
menu = sendmenudot("Menú principal","Seleccione opción",['1.Equipos','2.Grupos','3.Recetas','4.Reportes/Listados'])
menu = sendmenudot(T('Main menu'),T('Select option'),['1.'+T('Computers'),'2.'+T('Groups'),'3.'+T('Cooks'),'4.Reportes/Listados'])
if menu == '1':
mcomputers()
elif menu == '2':
@@ -82,20 +88,25 @@ def menuprinc():
def mcomputers():
global c_server
menu = sendmenudot("Menú equipos","Seleccione opción",['1.Añadir equipo','2.Borrar equipo','3.Añadir equipo a un grupo','4.Listado de equipos'])
menu = sendmenudot(T('Computers menu'),T('Select option'),['1.'+T('Add computer'),'2.'+T('Remove computer'),'3.'+T('Add computer to group'),'4.'+T('Computers list'),'5.'+T('Computer status')])
if menu == '1':
newcomputer = easygui.enterbox("Nombre del nuevo equipo","Añadir equipo")
if easygui.ynbox("Nombre del equipo: '"+newcomputer+"'. ¿Seguro?","Añadir equipo"):
newcomputer = easygui.enterbox("Nombre del nuevo equipo",T('Add computer'))
if easygui.ynbox("Nombre del equipo: '"+newcomputer+"'. ¿Seguro?",T('Add computer')):
sendsettoapi("/add/computer?ComputerName="+newcomputer,"Equipo añadido a la base de datos")
elif menu == '2':
whatc = showchoicesapi("Seleccione equipo a borrar","Borrar equipo",c_server+"/get/computers")
if whatc is not None and easygui.ynbox("Se va a borrar el equipo '"+whatc+"'. ¿Seguro?","Borrar equipo"):
sendsettoapi("/del/computer?ComputerName="+whatc,"Equipo borrado")
whatc = showchoicesapi("Seleccione equipo a borrar",T('Remove computer'),c_server+"/get/computers")
if whatc is not None and easygui.ynbox("Se va a borrar el equipo '"+whatc+"'. ¿Seguro?",T('Remove computer')):
sendsettoapi("/del/computer?ComputerName="+whatc,T('Computer deleted'))
elif menu == '3':
m_addcomputergroup()
elif menu == '4':
showchoicesapi("Lista de equipos","Listado de equipos",c_server+"/get/computers")
showchoicesapi(T('Computers list'),T('Computers list'),c_server+"/get/computers")
elif menu == '5':
computer = showchoicesapi(T('Select a computer'),T('Computer status'),c_server+"/get/computers")
showchoicesapi(T('Cooks of computer')+' '+computer,T('Computer status'),c_server+"/get/cookpend?ComputerName="+computer+"&SeeAll=1")
showchoicesapi(T('Cooks pending of computer')+' '+computer,T('Computer status'),c_server+"/get/cookpend?ComputerName="+computer)
showchoicesapi(T('Groups of computer')+' '+computer,T('Computer status'),c_server+"/get/groups?ComputerName="+computer)
elif menu is None:
menuprinc()
return
@@ -103,15 +114,15 @@ def mcomputers():
def mgroups():
global c_server
menu = sendmenudot("Menú grupos","Seleccione opción",['1.Añadir grupo','2.Borrar grupo','3.Añadir equipo a un grupo','4.Quitar equipo de un grupo','5.Listado de grupos','6.Listado de equipos de un grupo'])
menu = sendmenudot(T('Groups menu'),T('Select option'),['1.'+T('Add group'),'2.'+T('Remove group'),'3.'+T('Add computer to group'),'4.'+T('Remove computer of a group'),'5.Listado de grupos','6.Listado de equipos de un grupo'])
if menu == '1':
newgroup = easygui.enterbox("Nombre del nuevo grupo","Añadir grupo")
if easygui.ynbox("Nombre del grupo: '"+newgroup+"'. ¿Seguro?","Añadir grupo"):
newgroup = easygui.enterbox(T('New group name'),T('Add group'))
if easygui.ynbox("Nombre del grupo: '"+newgroup+"'. ¿Seguro?",T('Add group')):
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 and easygui.ynbox("Borrar grupo '"+group+"'. ¿Seguro?","Borrar grupo"):
sendsettoapi("/del/group?GroupName="+group,"Grupo borrado")
group = showchoicesapi("Lista de grupos. Selecciona uno para borrarlo",T('Remove group'),c_server+"/get/groups",'Name')
if group is not None and easygui.ynbox("Borrar grupo '"+group+"'. ¿Seguro?",T('Remove group')):
sendsettoapi("/del/group?GroupName="+group,T('Group deleted'))
elif menu == '3':
m_addcomputergroup()
elif menu == '4':
@@ -124,12 +135,12 @@ def mgroups():
elif menu is None:
menuprinc()
return
mcomputers()
mgroups()
def mcooks():
global c_server
global c_resources
menu = sendmenudot("Menú recetas","Seleccione opción",['1.Detalles de una receta','2.Renombrar receta','3.Añadir receta a un grupo','4.Eliminar receta de un grupo','5.Grupos de una receta'])
menu = sendmenudot(T('Cooks menu'),T('Select option'),['1.Detalles de una receta','2.Renombrar receta','3.Añadir receta a un grupo','4.Eliminar receta de un grupo','5.Grupos de una receta'])
if menu == '1':
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:
@@ -156,7 +167,7 @@ def mcooks():
if newname is not None and easygui.ynbox("Cambiar nombre de la receta '"+cook+"' por '"+newname+"'. ¿Seguro?","Renombrar receta"):
sendsettoapi("/upd/cookname?CookName="+cook+"&CookNewName="+newname,"Receta cambiada de nombre")
elif menu == '3':
cook = easygui.enterbox("Nombre de la receta","Añadir receta a un grupo")
cook = easygui.enterbox(T('Name of the cook'),"Añadir receta a un grupo")
group = showchoicesapi("Lista de grupos existentes","Listado de grupos",c_server+"/get/groups")
if easygui.ynbox("Añadir la receta "+cook+" al grupo '"+group+"'. ¿Seguro?","Añadir receta a un grupo"):
sendsettoapi("/add/cookgrp?CookName="+cook+"&GroupName="+group,"Receta añadida al grupo")
@@ -179,20 +190,20 @@ def mcooks():
def mreports():
global c_server
global c_resources
menu = sendmenudot("Menú reportes","Seleccione opción",['1.Listado de equipos','2.Listado de grupos','3.Equipos y recetas de un grupo','4.Grupos de una receta'])
menu = sendmenudot(T('Reports menu'),T('Select option'),['1.'+T('Computers list'),'2.'+T('Groups list'),'3.Equipos y recetas de un grupo','4.Grupos de una receta'])
if menu == '1': #Listado de equipos
showchoicesapi("Lista de equipos","Listado de equipos",c_server+"/get/computers")
showchoicesapi(T('Computers list'),T('Computers list'),c_server+"/get/computers")
elif menu == '2': #Listado de grupos
showchoicesapi("Lista de grupos","Listado de grupos",c_server+"/get/groups")
showchoicesapi(T('Groups list'),T('Groups list'),c_server+"/get/groups")
elif menu == '3':
group = showchoicesapi("Lista de grupos","Listado de grupos",c_server+"/get/groups")
showchoicesapi("Lista de equipos del grupo "+group,"Listado de equipos y recetas de un grupo",c_server+"/get/computersgrp?GroupName="+group)
showchoicesapi("Lista de recetas del grupo "+group,"Listado de equipos y recetas de un grupo",c_server+"/get/cookgrp?GroupName="+group,'CookName')
group = showchoicesapi(T('Groups list')+'. '+T('Select a group'),T('Groups list'),c_server+"/get/groups")
showchoicesapi("Lista de equipos del grupo "+group,T('List of computers and cooks of a group'),c_server+"/get/computersgrp?GroupName="+group)
showchoicesapi("Lista de recetas del grupo "+group,T('List of computers and cooks of a group'),c_server+"/get/cookgrp?GroupName="+group,'CookName')
elif menu == '4':
cook = showchoicesapi("Lista de recetas con grupo. Selecciona una para ver sus grupos","Listado de grupos 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)
showchoicesapi("Lista de grupos de la receta "+cook,T('List of groups of a cook'),c_server+"/get/grpcook?CookName="+cook)
elif menu is None:
menuprinc()
return
@@ -200,22 +211,22 @@ def mreports():
def m_addcomputergroup():
whatc = howchoicesapi("Seleccione equipo a añadir a un grupo","Añadir Equipo a grupo",c_server+"/get/computers")
whatc = showchoicesapi(T('Select computer to add to a group'),T('Add computer to group'),c_server+"/get/computers")
if whatc is None:
return
whatg = showchoicesapi("Seleccione grupo a ser añadido","Añadir Equipo a grupo",c_server+"/get/groups")
whatg = showchoicesapi(T('Select group to be added'),T('Add computer to group'),c_server+"/get/groups")
if whatg is None:
return
sendsettoapi("/add/grpcomputer?ComputerName="+whatc+"&GroupName="+whatg,"Equipo añadido al grupo")
def m_delcomputergroup():
group = showchoicesapi("Seleccione grupo del que quitar un equipo","Borrar equipo de un grupo",c_server+"/get/groups")
if group is None:
return
computer = showchoicesapi("Seleccione grupo a ser quitado","Borrar equipo de un grupo",c_server+"/get/computersgrp?GroupName="+group)
computer = showchoicesapi("Seleccione equipo para buscar un grupo que borrar",T('Remove computer of a group'),c_server+"/get/computers")
if computer is None:
return
if easygui.ynbox("Quitar el equipo "+computer+" del grupo '"+group+"'. ¿Seguro?","Borrar equipo de un grupo"):
group = showchoicesapi(T('Select group to delete'),T('Remove computer of a group'),c_server+"/get/groups?ComputerName="+computer)
if group is None:
return
if easygui.ynbox("Quitar el equipo "+computer+" del grupo '"+group+"'. ¿Seguro?",T('Remove computer of a group')):
sendsettoapi("/del/grpcomputer?ComputerName="+computer+"&GroupName="+group,"Equipo quitado del grupo")
menuprinc()
+62
View File
@@ -0,0 +1,62 @@
import configparser
t_cp = configparser.ConfigParser()
t_cp.read('configpcm.ini')
t_tlang = t_cp['General']['lang']
def T(textid):
textid = textid.strip()
global t_tlang
try:
if t_tlang == 'es':
return T_es(textid)
elif t_tlang == 'en':
return T_en(textid)
else:
return textid
except:
return textid
def T_es(textid):
dict = {
'Main menu': 'Menú principal',
'Select option': 'Seleccione opción',
'Computers': 'Equipos',
'Groups': 'Grupos',
'Cooks': 'Recetas',
'Computers list': 'Lista de equipos',
'Groups list': 'Lista de grupos',
'Computer deleted': 'Equipo eliminado',
'Add computer': 'Añadir equipo',
'Remove computer': 'Borrar equipo',
'Add group': 'Añadir grupo',
'Remove group': 'Borrar grupo',
'Group deleted': 'Grupo eliminado',
'Select a computer': 'Selecciona un equipo',
'Computer status': 'Estado de un equipo',
'Add computer to group':'Añadir equipo a un grupo',
'Remove computer of a group':'Quitar equipo de un grupo',
'Name of the cook':'Nombre de la receta',
'Select a group': 'Seleccione un grupo',
'Cooks of computer': 'Recetas del equipo',
'Groups of computer':'Grupos del equipo',
'Cooks pending of computer': 'Recetas pendientes del equipo',
'New group name':'Nombre del nuevo grupo',
'Computers menu':'Menú equipos',
'Groups menu':'Menú grupos',
'Cooks menu':'Menú recetas',
'Reports menu':'Menú reportes',
'List of computers and cooks of a group':'Listado de equipos y recetas de un grupo',
'List of groups of a cook':'Listado de grupos de una receta',
'Select computer to add to a group':'Seleccione equipo para añadir a un grupo',
'Select group to be added':'Seleccione grupo a ser añadido',
'Select group to delete':'Seleccione grupo a quitar'
}
return dict[textid]
def T_en(textid):
return textid #English doesn't have to be translated