Refactoring minimale

master
Guido Longoni 2019-09-28 11:46:06 +02:00
parent 2bf07b0451
commit 7045dee32e
2 changed files with 38 additions and 29 deletions

11
MkpWIFI/esempio.py 100644
View File

@ -0,0 +1,11 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Sep 28 11:41:21 2019
@author: Guido Longoni - guidolongoni@gmail.com
"""
import protocol as p
testala=p.callPrintImage(imageName='Pippus',printMode='10',fieldContent='qualcosa\rqualcosaltro\rciao')

View File

@ -11,7 +11,7 @@ import copy
import functools
import re
def cmdString(cmdName, **cmdArgs):
def _cmdString(cmdName, **cmdArgs):
cmdDict = cmd.MKPcommands[cmdName]
if 'args' in cmdDict and cmdDict['args'] is not None:
mandatory_args = set(cmdDict['args'])
@ -37,29 +37,7 @@ def cmdString(cmdName, **cmdArgs):
+ str(cmd.DEFprefix['end']
if cmdDict['defPrefix'] else cmdDict['end'])
def checkResponse(cmdName, response):
sucKey = 'success'
cmdDict = cmd.MKPcommands[cmdName]
if sucKey in cmdDict and cmdDict[sucKey] is not None:
if cmdDict[sucKey] == True:
error = checkError(cmdName, response)
if error is None:
return None
else:
return error
if re.match(cmdDict[sucKey], response, re.I):
return True
error = checkError(cmdName, response)
if error is None:
raise NotImplementedError(
'Ricevuta risposta sconosciuta: {}'.format(response))
else:
return error
else:
error = checkError(cmdName, response)
return error
def checkError(cmdName, response):
def _checkError(cmdName, response):
errKey = 'error'
cmdDict = cmd.MKPcommands[cmdName]
if errKey in cmdDict and cmdDict[errKey] is not None:
@ -69,10 +47,30 @@ def checkError(cmdName, response):
return error_codes.groups()
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__))
def _checkResponse(cmdName, response):
sucKey = 'success'
cmdDict = cmd.MKPcommands[cmdName]
if sucKey in cmdDict and cmdDict[sucKey] is not None:
if cmdDict[sucKey] == True:
error = _checkError(cmdName, response)
if error is None:
return None
else:
return error
if re.match(cmdDict[sucKey], response, re.I):
return True
error = _checkError(cmdName, response)
if error is None:
raise NotImplementedError(
'Ricevuta risposta sconosciuta: {}'.format(response))
else:
return error
else:
error = _checkError(cmdName, response)
return error
_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)
globals()[k] = functools.partial(_cloneFcn(_cmdString,k),k)
del k
testala=cmd._callPrintImage(imageName='Pippus',printMode='10',fieldContent='qualcosa\rqualcosaltro\rciao')