Caricata prima bozza di libreria di funzioni per la gestione del protocollo
parent
29624c8798
commit
508f92f78a
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Fri Sep 27 14:35:31 2019
|
||||
|
||||
@author: Guido Longoni - guidolongoni@gmail.com
|
||||
"""
|
||||
|
||||
import commands as cmd
|
||||
import re
|
||||
|
||||
def cmdString(cmdName):
|
||||
cmdDict = cmd.MKPcommands[cmdName]
|
||||
return str(cmd.DEFprefix['begin'] if cmdDict['defPrefix'] else cmdDict['begin']) + str(cmdDict['command']) + 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):
|
||||
errKey = 'error'
|
||||
cmdDict = cmd.MKPcommands[cmdName]
|
||||
if errKey in cmdDict and cmdDict[errKey] is not None:
|
||||
return None
|
||||
error_codes = re.match(cmdDict[errKey],response,re.I)
|
||||
if error_codes:
|
||||
return error_codes.groups()
|
||||
return None
|
||||
Loading…
Reference in New Issue