Qualcuno potrebbe dare un'occhiata a questo e fammi sapere se ho macellato qualcosa. È solo una semplice definizione di classe in python, ma non ho sviluppatori locali per assicurarmi che io stia usando il linguaggio giusto. Usare 'sé' è così imbarazzante e non so se è necessario.
import time
import pexpect
from datetime import datetime
import deviceModelconfigs
from kafka import KafkaClient, KeyedProducer, HashedPartitioner, RoundRobinPartitioner
class Device():
def __init__(self, roomName, ip, model):
self.model = model
self.ip = ip
self.roomName = roomName
self.codes = deviceModelconfigs.setCodes(self.model)
self.powerStatus = 'na'
self.signalStatus = 'na'
self.networkStatus = 'na'
def connect(self):
self.child = pexpect.spawn('telnet '+ self.ip + ' 2001')
def sendMessage(self):
print ("devices", self.roomName, str("{\"timestamp\":\"" + str(datetime.utcnow().isoformat()) +
"\",\"roomName\":\""+ self.roomName +
"\",\"powerStatus\":\""+ self.powerStatus +
"\",\"signalStatus\"\""+ self.signalStatus +
"\",\"networkStatus\":\""+ self.networkStatus +
"\",\"deviceModel\":\""+ self.model +
"\",\"deviceType\":\""+ self.codes['deviceType'] + "\"}"))
def testPower(self):
try:
self.child.sendline(self.codes['pwrStCmd'])
self.child.expect(self.codes['pwrStOnRe'], timeout=5)
status = 'on'
except:
try:
self.child.sendline(self.codes['pwrStCmd'])
self.child.expect(self.codes['pwrStOffRe'], timeout=5)
status = 'off'
except:
status = 'na'
return status
def testAll(self):
self.powerStatus = Device.testPower(self)
Device.sendMessage(self)
self.child.terminate(True)
jeff = Device('FM1-200','10.1.174.12','WD510U')
jeff.connect()
jeff.testAll()