diff --git a/MkpWIFI/esempio.py b/MkpWIFI/esempio.py new file mode 100644 index 0000000..d0c41f3 --- /dev/null +++ b/MkpWIFI/esempio.py @@ -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') \ No newline at end of file diff --git a/MkpWIFI/protocol.py b/MkpWIFI/protocol.py index 0ee5b01..72f5cb2 100644 --- a/MkpWIFI/protocol.py +++ b/MkpWIFI/protocol.py @@ -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') \ No newline at end of file