コード例 #1
0
ファイル: main.py プロジェクト: iottly/iottly-core
    def delete(self, _id):
        try:
            project = yield dbapi.find_one_by_id("projects", _id)
            project = projectmanager.Project(project)
            logging.info(project.value)

            #remove registered boards from broker
            if "boards" in project.value.keys():
                for board in project.value["boards"]:
                    apiresult = yield brokerapi.delete_user(board["ID"])

            #remove over the air fw repo path:
            fwdir = os.path.join(settings.FIRMWARE_DIR, str(_id))
            if os.path.exists(fwdir):
                shutil.rmtree(fwdir)
            
            #remove installer:
            installerdir = os.path.join(
                settings.DEVICE_INSTALLERS_REPO_PATH, 
                settings.DEVICE_INSTALLER_NAME_TEMPLATE.format(str(_id)))
            if os.path.exists(installerdir):
                os.remove(installerdir)

            delete_result = yield dbapi.remove_by_id('projects', _id)
            logging.info(delete_result)
            self.set_status(200)

        except Exception as e:

            logging.error(e)
            self.set_status(500)
            error = {'error': '{}'.format(e)}
            self.write(json.dumps(error, default=json_util.default))
            self.set_header("Content-Type", "application/json")
コード例 #2
0
ファイル: main.py プロジェクト: iottly/iottly-core
    def delete(self, _id, macaddress):
        try:
            project = yield dbapi.find_one_by_id("projects", _id)
            project = projectmanager.Project(project)
            logging.info(project.value)

            #delete board ID
            board = project.remove_board(macaddress)

            logging.info('remove board: {}'.format(board))

            apiresult = yield brokerapi.delete_user(board["ID"])

            write_result = yield dbapi.update_by_id('projects', _id, {"boards": project.value["boards"]})
            logging.info(write_result)

        except Exception as e:

            logging.error(e)
            self.set_status(500)
            error = {'error': '{}'.format(e)}
            self.write(json.dumps(error, default=json_util.default))
            self.set_header("Content-Type", "application/json")