Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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