def PerformLoadFileTask(self, Params): #<?xml version="1.0" encoding="utf-8"?> #<Marvin Type="OscarTask"> # <Version>1.0</Version> # <OscarID>DemoOscar</OscarID> # <Task>LoadFile</Task> # <Param>filename</Param> #</Marvin> if len(Params) != 1: Log.getLogger().error( "Oscar Task to load file failed - no file specified.") filename = Alias.Alias(Params[0]) Log.getLogger().info("Performing Oscar task: Load File -->" + str(filename)) GuiMgr.OnStopPlayback() GuiMgr.OnStopRecording(True) #drop all recorded packets GuiMgr.OnStopLiveData() if GuiMgr.ReadFromFile(filename): GuiMgr.OnEnablePlayback() GuiMgr.SetPlaybackFilename(filename) else: Log.getLogger().warning("Oscar Task to load file [" + filename + "] failed") return False return True
def StartupWorkerProc(fnKillSignalled, userData): downstreamServer = userData[0] upstreamServer = userData[1] Sleep.SleepMs(500) downstreamServer.Start() upstreamServer.DropPackets(True) upstreamServer.Start() Watchdog.ConnectionUpdateTimer() Watchdog.WatchdogTimer() conf = Configuration.get() if None != conf.GetAutorunFilename(): GuiMgr.OnStopLiveData() #GuiMgr.OnStopPlayback() #GuiMgr.OnStopRecording(True) #drop all recorded packets GuiMgr.OnSetPlaybackSpeed(Configuration.get().GetPlaybackSpeed()) ss = Configuration.get().GetAutorunLocations() #GuiMgr.OnEnablePlayback() GuiMgr.ReadFromFile(Configuration.get().GetAutorunFilename()) GuiMgr.OnStopPlayback() Sleep.SleepMs( 100) # let gui worker threads catch up, so gui updates properly GuiMgr.OnStartPlayback() GuiMgr.OnSetRepeatMode(Configuration.get().GetAutoRunMode(), ss[0], ss[1]) else: upstreamServer.DropPackets(False) if None != conf.GetAutorunTime() and conf.GetAutorunTime( ) > 0: # specified a --time, so let's hang out for that long endTime = Time.GetCurrMS() + conf.GetAutorunTime() * 60 * 1000 Log.getLogger().info("Waiting for " + str(conf.GetAutorunTime()) + " minutes before auto shutdown") if conf.GetRecordFilename(): GuiMgr.OnStartRecording() while not fnKillSignalled() and endTime > Time.GetCurrMS(): Sleep.SleepMs(250) Log.getLogger().info("Shutting down after time period") if conf.GetRecordFilename( ): # was a recording session, so quit after that time GuiMgr.OnStopRecording() GuiMgr.WriteToFile(conf.GetRecordFilename()) Log.getLogger().info("Saving Recorded data to file: " + conf.GetRecordFilename()) GuiMgr.Quit()
def HandleOpen(self): options = {} options['filetypes'] = [('Oscar Data files', '.biff')] options['parent'] = self.root filename = tkinter.filedialog.askopenfilename(**options) if len(filename) < 1 : return if not GuiMgr.ReadFromFile(filename): GuiMgr.MessageBox_Error("Python Error","Error loading file: " + filename) self._PreviousFileMenuStatus = None GuiMgr.SetPlaybackFilename(filename)