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)