Exemplo n.º 1
0
    def copy_fers(self, FERListWidgetFrom, FERListWidgetTo, fromurl, fromid,
                  fromkey, tourl, toid, tokey):

        logger.info("[Field Extraction Rules]Copying FER(s)")
        try:
            selecteditems = FERListWidgetFrom.selectedItems()
            if len(selecteditems) > 0:  # make sure something was selected
                fromsumo = SumoLogic(fromid,
                                     fromkey,
                                     endpoint=fromurl,
                                     log_level=self.mainwindow.log_level)
                tosumo = SumoLogic(toid,
                                   tokey,
                                   endpoint=tourl,
                                   log_level=self.mainwindow.log_level)
                for selecteditem in selecteditems:
                    for object in FERListWidgetFrom.currentcontent:
                        if object['name'] == str(selecteditem.text()):
                            item_id = object['id']
                            fer_export = fromsumo.get_fer(item_id)
                            status = tosumo.create_fer(
                                fer_export['name'], fer_export['scope'],
                                fer_export['parseExpression'])
                self.update_FER_list(FERListWidgetTo, tourl, toid, tokey)
                return

            else:
                self.mainwindow.errorbox('You have not made any selections.')
                return

        except Exception as e:
            logger.exception(e)
            self.mainwindow.errorbox('Something went wrong:' + str(e))
            self.update_FER_list(FERListWidgetTo, tourl, toid, tokey)
        return
Exemplo n.º 2
0
    def restore_fer(self, FERListWidget, url, id, key):
        logger.info("[Field Extraction Rules]Restoring FER(s)")
        if FERListWidget.updated == True:

            filter = "JSON (*.json)"
            filelist, status = QtWidgets.QFileDialog.getOpenFileNames(
                self, "Open file(s)...", os.getcwd(), filter)
            if len(filelist) > 0:
                sumo = SumoLogic(id,
                                 key,
                                 endpoint=url,
                                 log_level=self.mainwindow.log_level)
                for file in filelist:
                    try:
                        with open(file) as filepointer:
                            fer_backup = json.load(filepointer)
                    except Exception as e:
                        logger.exception(e)
                        self.mainwindow.errorbox(
                            "Something went wrong reading the file. Do you have the right file permissions? Does it contain valid JSON?"
                        )
                        return
                    try:
                        status = sumo.create_fer(fer_backup['name'],
                                                 fer_backup['scope'],
                                                 fer_backup['parseExpression'])

                    except Exception as e:
                        logger.exception(e)
                        self.mainwindow.errorbox('Something went wrong:\n\n' +
                                                 str(e))
                        return
                self.update_FER_list(FERListWidget, url, id, key)

            else:
                self.mainwindow.errorbox(
                    "Please select at least one file to restore.")
                return
        else:
            self.mainwindow.errorbox(
                "Please update the directory list before restoring content")
        return