[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 15/25: grc: fix flow graph execution (amend
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 15/25: grc: fix flow graph execution (amends ActionHandler refactoring) |
Date: |
Fri, 27 May 2016 19:14:59 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch master
in repository gnuradio.
commit c73ee1053f27bdae00b9cdeb12cabfab37854425
Author: Sebastian Koslowski <address@hidden>
Date: Mon May 23 10:45:54 2016 +0200
grc: fix flow graph execution (amends ActionHandler refactoring)
---
grc/gui/ActionHandler.py | 12 +++++++++---
grc/gui/Executor.py | 34 ++++++++++++++++------------------
grc/gui/NotebookPage.py | 9 ++++-----
3 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/grc/gui/ActionHandler.py b/grc/gui/ActionHandler.py
index 4866a34..2b39079 100644
--- a/grc/gui/ActionHandler.py
+++ b/grc/gui/ActionHandler.py
@@ -580,8 +580,10 @@ class ActionHandler:
try:
Messages.send_start_gen(generator.get_file_path())
generator.write()
- except Exception,e: Messages.send_fail_gen(e)
- else: self.generator = None
+ except Exception as e:
+ Messages.send_fail_gen(e)
+ else:
+ self.generator = None
elif action == Actions.FLOW_GRAPH_EXEC:
if not page.get_proc():
Actions.FLOW_GRAPH_GEN()
@@ -591,7 +593,11 @@ class ActionHandler:
Dialogs.MissingXTermDialog(xterm)
Preferences.xterm_missing(xterm)
if page.get_saved() and page.get_file_path():
- Executor.ExecFlowGraphThread(self)
+ Executor.ExecFlowGraphThread(
+ flow_graph_page=page,
+ xterm_executable=xterm,
+ callback=self.update_exec_stop
+ )
elif action == Actions.FLOW_GRAPH_KILL:
if page.get_proc():
try:
diff --git a/grc/gui/Executor.py b/grc/gui/Executor.py
index f75f514..bf9eecb 100644
--- a/grc/gui/Executor.py
+++ b/grc/gui/Executor.py
@@ -30,7 +30,7 @@ from ..core import Messages
class ExecFlowGraphThread(threading.Thread):
"""Execute the flow graph as a new process and wait on it to finish."""
- def __init__(self, action_handler):
+ def __init__(self, flow_graph_page, xterm_executable, callback):
"""
ExecFlowGraphThread constructor.
@@ -38,19 +38,17 @@ class ExecFlowGraphThread(threading.Thread):
action_handler: an instance of an ActionHandler
"""
threading.Thread.__init__(self)
- self.update_exec_stop = action_handler.update_exec_stop
- self.flow_graph = action_handler.get_flow_graph()
- self.xterm_executable = action_handler.platform.config.xterm_executable
- #store page and dont use main window calls in run
- self.page = action_handler.get_page()
- #get the popen
+
+ self.page = flow_graph_page # store page and dont use main window
calls in run
+ self.xterm_executable = xterm_executable
+ self.update_callback = callback
+
try:
- self.p = self._popen()
- self.page.set_proc(self.p)
- #update
- self.update_exec_stop()
+ self.process = self._popen()
+ self.page.set_proc(self.process)
+ self.update_callback()
self.start()
- except Exception, e:
+ except Exception as e:
Messages.send_verbose_exec(str(e))
Messages.send_end_exec()
@@ -58,7 +56,7 @@ class ExecFlowGraphThread(threading.Thread):
"""
Execute this python flow graph.
"""
- run_command = self.flow_graph.get_option('run_command')
+ run_command = self.page.get_flow_graph().get_option('run_command')
generator = self.page.get_generator()
try:
@@ -90,19 +88,19 @@ class ExecFlowGraphThread(threading.Thread):
Wait on the executing process by reading from its stdout.
Use gobject.idle_add when calling functions that modify gtk objects.
"""
- #handle completion
+ # handle completion
r = "\n"
while r:
gobject.idle_add(Messages.send_verbose_exec, r)
- r = os.read(self.p.stdout.fileno(), 1024)
- self.p.poll()
+ r = os.read(self.process.stdout.fileno(), 1024)
+ self.process.poll()
gobject.idle_add(self.done)
def done(self):
"""Perform end of execution tasks."""
- Messages.send_end_exec(self.p.returncode)
+ Messages.send_end_exec(self.process.returncode)
self.page.set_proc(None)
- self.update_exec_stop()
+ self.update_callback()
###########################################################
diff --git a/grc/gui/NotebookPage.py b/grc/gui/NotebookPage.py
index 6614649..c9e8d0f 100644
--- a/grc/gui/NotebookPage.py
+++ b/grc/gui/NotebookPage.py
@@ -39,13 +39,13 @@ class NotebookPage(gtk.HBox):
file_path: path to a flow graph file
"""
self._flow_graph = flow_graph
- self.set_proc(None)
+ self.process = None
#import the file
self.main_window = main_window
- self.set_file_path(file_path)
+ self.file_path = file_path
initial_state = flow_graph.get_parent().parse_flow_graph(file_path)
self.state_cache = StateCache(initial_state)
- self.set_saved(True)
+ self.saved = True
#import the data to the flow graph
self.get_flow_graph().import_data(initial_state)
#initialize page gui
@@ -189,8 +189,7 @@ class NotebookPage(gtk.HBox):
Args:
file_path: file path string
"""
- if file_path: self.file_path = os.path.abspath(file_path)
- else: self.file_path = ''
+ self.file_path = os.path.abspath(file_path) if file_path else ''
def get_saved(self):
"""
- [Commit-gnuradio] [gnuradio] 11/25: grc: Darker color for bypassed blocks., (continued)
- [Commit-gnuradio] [gnuradio] 11/25: grc: Darker color for bypassed blocks., git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 04/25: grc: optionally hide all variable blocks, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 21/25: grc: function probe block: relabel and move value param, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 24/25: Merge remote-tracking branch 'gnuradio-wg-grc/master_grcwg', git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 07/25: grc: remove 'Showing: ...' messages, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 12/25: grc: add warning for block flagged deprecated, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 20/25: grc: faulty callback code if setter call contained a variable block id, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 14/25: Revert "grc: fix callback evaluation", git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 18/25: modtool: Added version support for OOTs, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 19/25: grc-refactor: minor clean-up of callback generator code, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 15/25: grc: fix flow graph execution (amends ActionHandler refactoring),
git <=
- [Commit-gnuradio] [gnuradio] 10/25: grc: Variable editor tweaks., git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 25/25: Merge remote-tracking branch 'dkozel/uhd_lo_api', git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 16/25: Added controls for importing, exporting, and sharing LOs, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 17/25: grc-refactor: fix custom canvas font sizes, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 08/25: grc: Added the variable editor panel, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 09/25: grc: Added context menu to variable editor, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 06/25: grc: remove some dead code in FlowGraph.what_is_selected(), git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 23/25: Merge remote-tracking branch 'mbr0wn/modtool/versioning', git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 02/25: grc: block alignment tools, git, 2016/05/27
- [Commit-gnuradio] [gnuradio] 03/25: grc: minor fixes/clean-ups, git, 2016/05/27