class Update(object): def __init__(self,ipadd,fm_path,session=None): self.class_name = 'Update' self.ls = LogShow(self.class_name) if isinstance(ipadd, str): self.ip = ipadd else: self.ip = str(ipadd) if not Check.checkIP(self.ip): self.ls.log_print('warn', self.ip + ' is not valuable!', '__init__') if isinstance(fm_path, str): self.firmware_path = fm_path else: self.firmware_path = str(fm_path) self.url_update = 'http://' + self.ip + '/service/system/firmware_upgrade/full_update' self.url_status = 'http://' + self.ip + '/service/system/task/status' self.url_update_new = 'http://' + self.ip + '/service/system/system_upgrade' self.url_restore = 'http://' + self.ip + '/service/system/restore' self.url_stop = 'http://' + self.ip + '/service/system/stop' self.url_start = 'http://' + self.ip + '/service/system/start' self.login = LogIn(self.ip) if session is None: self.Login() else: self.session = session def Login(self): self.session = self.login.login() def __str__(self): return self.class_name def reLogin(self): self.Login() @checkSN def stopSlamware(self): try: self.ls.log_print('system', 'stop the slamwared now', self.stopSlamware.__name__) self.session.post(self.url_stop) self.ls.log_print('system', 'stop slamwared ok ', self.stopSlamware.__name__) except Exception,e: self.ls.log_print('error', str(e), self.stopSlamware.__name__)
class GetSN(object): def __init__(self, ipadd, session): self.class_name = 'GetSN' if isinstance(ipadd, str): self.ip = ipadd else: self.ip = str(ipadd) self.login = LogIn(self.ip) if session is not None: self.session = session else: self.session = self.reLogin() url_pre = 'http://' + self.ip self.url_sn = url_pre + '/service/system/admin/sn' self.url_version = url_pre + '/service/system/firmware_upgrade/version' self.ls = LogShow(self.class_name) self.getContent() def __str__(self): return self.class_name def reLogin(self): return self.login.login() @checkSN def getContent(self): try: self.SNcontent = self.session.get(self.url_sn).text self.snJson = json.loads(self.SNcontent) time.sleep(5) self.VEcontent = self.session.get(self.url_version).text self.veJson = json.loads(self.VEcontent) except Exception,e: self.ls.log_print('error', str(traceback.print_exc()), self.getContent.__name__) time.sleep(5) self.getContent()
def reLogin(self): login = LogIn(self.ip) return login.login()
class WebController(object): def __init__(self, ipadd, session=None): self.ip = ipadd self.class_name = "WebController" self.ls = LogShow(self.class_name) if not hasattr(self, "session"): if session is None: self.login() else: self.session = session def __str__(self): return self.class_name def login(self): self.login = LogIn(self.ip) self.session = self.login.login() return self.session def Debug(self): if not hasattr(self, "debug"): self.debug = Debug(self.ip, self.session) return self.debug def openDebug(self): self.Debug() return self.debug.openDebug() def closeDebug(self): self.Debug() return self.debug.closeDebug() def getSN(self): if not hasattr(self, "getsn"): self.getsn = GetSN(self.ip, self.session) return self.getsn def getDeviceSN(self): self.getSN() return self.getsn.getDeviceSN() def getBaseSN(self): self.getSN() return self.getsn.getBaseSN() def getIPMode(self): self.getSN() return self.getsn.getIPMode() def getVersion(self): self.getSN() return self.getsn.getVersion() def getFWVersion(self): self.getSN() return self.getsn.getFWVersion() def GetDiagnosis(self): if not hasattr(self, "getdiagnosis"): self.getdiagnosis = GetDiagnosis(self.ip, self.session) return self.getdiagnosis def OpenDiagnosis(self): self.GetDiagnosis() self.getdiagnosis.OpenDiagnosis() def getMsg(self): self.GetDiagnosis() self.getdiagnosis.getMsg() def RunGetAll(self): self.GetDiagnosis() self.getdiagnosis.RunGetAll() def CloseDiagnosis(self): self.GetDiagnosis() self.getdiagnosis.CloseDiagnosis() def Update(self, fmpath): if not hasattr(self, "update"): self.update = Update(self.ip, fmpath, self.session) return self.update def runUpdate(self): self.Update() self.update.runUpdate() def runUpdate_new(self): self.Update() self.update.runUpdate_new() def run(self, command, args=[]): if command is not None and command != '': if command == 'openDebug': self.openDebug() if command == 'closeDebug': self.closeDebug() if command == 'getDeviceSN': self.getDeviceSN() if command == 'getBaseSN': self.getBaseSN() if command == 'getVersion': self.getVersion() if command == 'getFWVersion': self.getFWVersion() if command == 'openDiagnosis': self.openDiagnosis() if command == 'getMsg': self.getMsg() if command == 'RunGetALL': self.RunGetAll() if command == 'CloseDiagnosis': self.CloseDiagnosis() if command == 'Update': self.Update(args) if command == 'runUpdate': self.runUpdate()