Aggiunto un pizzico di magia ;-)

master
Guido Longoni 2019-09-27 21:59:55 +02:00
parent 1d4d9d5a37
commit 2bf07b0451
1 changed files with 12 additions and 6 deletions

View File

@ -5,15 +5,18 @@ Created on Fri Sep 27 14:35:31 2019
@author: Guido Longoni - guidolongoni@gmail.com @author: Guido Longoni - guidolongoni@gmail.com
""" """
import commands as cmd import commands as cmd
import types
import copy
import functools import functools
import re import re
def cmdString(cmdName, **cmdArgs): def cmdString(cmdName, **cmdArgs):
cmdDict = cmd.MKPcommands[cmdName] cmdDict = cmd.MKPcommands[cmdName]
if 'args' in cmdDict and cmdDict['args'] is not None:
mandatory_args = set(cmdDict['args']) mandatory_args = set(cmdDict['args'])
else:
mandatory_args = set()
if 'optArgs' in cmdDict and cmdDict['optArgs'] is not None: if 'optArgs' in cmdDict and cmdDict['optArgs'] is not None:
optional_args = set(cmdDict['optArgs']) optional_args = set(cmdDict['optArgs'])
else: else:
@ -34,7 +37,6 @@ def cmdString(cmdName, **cmdArgs):
+ str(cmd.DEFprefix['end'] + str(cmd.DEFprefix['end']
if cmdDict['defPrefix'] else cmdDict['end']) if cmdDict['defPrefix'] else cmdDict['end'])
def checkResponse(cmdName, response): def checkResponse(cmdName, response):
sucKey = 'success' sucKey = 'success'
cmdDict = cmd.MKPcommands[cmdName] cmdDict = cmd.MKPcommands[cmdName]
@ -57,7 +59,6 @@ def checkResponse(cmdName, response):
error = checkError(cmdName, response) error = checkError(cmdName, response)
return error return error
def checkError(cmdName, response): def checkError(cmdName, response):
errKey = 'error' errKey = 'error'
cmdDict = cmd.MKPcommands[cmdName] cmdDict = cmd.MKPcommands[cmdName]
@ -68,5 +69,10 @@ def checkError(cmdName, response):
return error_codes.groups() return error_codes.groups()
return None return None
cloneFcn = lambda f1,f2: types.FunctionType(copy.copy(f1.__code__), copy.copy(f1.__globals__), name=f2, argdefs=copy.copy(f1.__defaults__), closure=copy.copy(f1.__closure__))
for k in cmd.MKPcommands.keys():
setattr(cmd, '_'+k, functools.partial(cloneFcn(cmdString,k),k))
#globals()[k] = functools.partial(cloneFcn(cmdString,k),k)
testala=cmdString('callPrintImage',imageName='Pippus',printMode='10',fieldContent='qualcosa\rqualcosaltro\rciao')
testala=cmd._callPrintImage(imageName='Pippus',printMode='10',fieldContent='qualcosa\rqualcosaltro\rciao')