def handleSave(self, pab, devname): logger.info("Opcode 6 Save - %s", devname) logPab(pab) unix_name = tinames.devnameToLocal(devname) logger.debug("unix_name for program is %s", unix_name) if unix_name == "" or unix_name is None: self.sendErrorCode(EDVNAME) return oled.info("SAVE:/%s", devname) logger.debug("saving program to %s", unix_name) if self.parentExists(unix_name): self.sendSuccess() fdata = self.tipi_io.receive() logger.debug("received program image") try: if unix_name.lower().endswith(basicSuffixes): prog_file = BasicFile.create(fdata) else: prog_file = ProgramImageFile.create(devname, unix_name, fdata) logger.debug("created file object") prog_file.save(unix_name) self.sendSuccess() except Exception as e: logger.exception("failed to save PROGRAM") self.sendErrorCode(EDEVERR) return self.sendErrorCode(EDEVERR)
def handleSave(self, pab, devname): logger.info("Opcode 6 Save - %s", devname) logPab(pab) unix_name = tinames.devnameToLocal(devname) logger.debug("unix_name for program is %s", unix_name) if unix_name == "" or unix_name is None: self.sendErrorCode(EDVNAME) return logger.debug("saving program to %s", unix_name) if self.parentExists(unix_name): # check protect flag if ti_files.isTiFile(unix_name): fh = open(unix_name, "rb") header = bytearray(fh.read())[:128] if ti_files.isProtected(header): self.sendErrorCode(EWPROT) return self.sendSuccess() fdata = self.tipi_io.receive() logger.debug("received program image") try: if unix_name.lower().endswith(basicSuffixes): prog_file = BasicFile.create(fdata) else: prog_file = ProgramImageFile.create( devname, unix_name, fdata) logger.debug("created file object") prog_file.save(unix_name) self.sendSuccess() except Exception as e: logger.exception("failed to save PROGRAM") self.sendErrorCode(EDEVERR) return self.sendErrorCode(EDEVERR)
def save(self, pab, devname): logger.info("save devname - %s", devname) try: url = self.parseDev(devname) tmpname = '/tmp/CF' self.tipi_io.send([SUCCESS]) fdata = self.tipi_io.receive() logger.debug("received program image") if devname.lower().endswith(basicSuffixes): prog_file = BasicFile.create(fdata) else: prog_file = ProgramImageFile.create(devname, tmpname, fdata) logger.debug("created file object") prog_file.save(tmpname) self.http_post(url, pab) self.tipi_io.send([SUCCESS]) except Exception as e: logger.exception("failed to save PROGRAM") self.tipi_io.send([EFILERR]) return