示例#1
0
class DelimiterSeparatedImporterController(AbstractFileImporterController):
    """Controller of file importer plugin"""

    COLUMN_ID = 1
    COLUMN_SELECTED = 0

    def __init__(self, netzob, plugin):
        view = DelimiterSeparatedImporterView(plugin, self)
        super(DelimiterSeparatedImporterController,
              self).__init__(netzob, plugin, view)
        self.model = DelimiterSeparatedImporter(self.netzob)

    def run(self):
        self.view.run()

    def doSetSourceFiles(self, filePathList):
        self.model.setSourceFiles(filePathList)

    def doReadMessages(self):
        selectedEntry = self.view.keepSeparatorComboBox.get_active()
        separatorStrategy = None
        if selectedEntry is not None:
            separatorStrategy = self.view.keepSeparatorListStore[
                selectedEntry][0]

        self.model.setSeparator(self.view.separatorEntry.get_text().strip(),
                                separatorStrategy)
        self.model.readMessages()
        for message in self.model.messages:
            self.view.listListStore.append(
                [False, str(message.getID()),
                 message.getStringData()])

    def doGetMessageDetails(self, messageID):
        message = self.model.getMessageByID(str(messageID))
        return TypeConvertor.hexdump(
            TypeConvertor.netzobRawToPythonRaw(message.getData()))

    def doImportMessages(self, selectedMessages):
        self.model.saveMessagesInCurrentProject(selectedMessages)

    def clearSeparatorButton_clicked_cb(self, widget):
        self.view.separatorEntry.set_text("")
class DelimiterSeparatedImporterController(AbstractFileImporterController):
    """Controller of file importer plugin"""

    COLUMN_ID = 1
    COLUMN_SELECTED = 0

    def __init__(self, netzob, plugin):
        view = DelimiterSeparatedImporterView(plugin, self)
        super(DelimiterSeparatedImporterController, self).__init__(netzob, plugin, view)
        self.model = DelimiterSeparatedImporter(self.netzob)

    def run(self):
        self.view.run()

    def doSetSourceFiles(self, filePathList):
        self.model.setSourceFiles(filePathList)

    def doReadMessages(self):
        selectedEntry = self.view.keepSeparatorComboBox.get_active()
        separatorStrategy = None
        if selectedEntry is not None:
            separatorStrategy = self.view.keepSeparatorListStore[selectedEntry][0]

        self.model.setSeparator(self.view.separatorEntry.get_text().strip(), separatorStrategy)
        self.model.readMessages()
        for message in self.model.messages:
            self.view.listListStore.append([False, str(message.getID()), message.getStringData()])

    def doGetMessageDetails(self, messageID):
        message = self.model.getMessageByID(str(messageID))
        return TypeConvertor.hexdump(TypeConvertor.netzobRawToPythonRaw(message.getData()))

    def doImportMessages(self, selectedMessages):
        self.model.saveMessagesInCurrentProject(selectedMessages)

    def clearSeparatorButton_clicked_cb(self, widget):
        self.view.separatorEntry.set_text("")
 def __init__(self, netzob, plugin):
     view = DelimiterSeparatedImporterView(plugin, self)
     super(DelimiterSeparatedImporterController, self).__init__(netzob, plugin, view)
     self.model = DelimiterSeparatedImporter(self.netzob)
示例#4
0
 def __init__(self, netzob, plugin):
     view = DelimiterSeparatedImporterView(plugin, self)
     super(DelimiterSeparatedImporterController,
           self).__init__(netzob, plugin, view)
     self.model = DelimiterSeparatedImporter(self.netzob)