summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2017-01-25 10:15:11 -0800
committerJohnathan Corgan <johnathan@corganlabs.com>2017-01-25 10:15:11 -0800
commit03fbdc92f87ce346c591714aada5b3ff4e7d561e (patch)
tree34a5835a4a344ca88ce8127caa5ce6cfa269501d
parent6225e5d4d1edd67c896c6c43bdc584a078480a8d (diff)
parent509330cfb6ad5b8b8787ba069b96ee35c5ac9c2d (diff)
Merge branch 'maint'
-rw-r--r--gr-atsc/CMakeLists.txt3
-rw-r--r--gr-dtv/CMakeLists.txt2
-rw-r--r--grc/gui/external_editor.py28
3 files changed, 18 insertions, 15 deletions
diff --git a/gr-atsc/CMakeLists.txt b/gr-atsc/CMakeLists.txt
index ea5609dd8d..30eed3eb22 100644
--- a/gr-atsc/CMakeLists.txt
+++ b/gr-atsc/CMakeLists.txt
@@ -26,6 +26,9 @@ include(GrBoost)
# Register component
########################################################################
include(GrComponent)
+
+find_package(GSL)
+
GR_REGISTER_COMPONENT("gr-atsc" ENABLE_GR_ATSC
Boost_FOUND
GSL_FOUND
diff --git a/gr-dtv/CMakeLists.txt b/gr-dtv/CMakeLists.txt
index 58003da49b..b57429dea7 100644
--- a/gr-dtv/CMakeLists.txt
+++ b/gr-dtv/CMakeLists.txt
@@ -27,6 +27,8 @@ include(GrBoost)
########################################################################
include(GrComponent)
+find_package(GSL)
+
GR_REGISTER_COMPONENT("gr-dtv" ENABLE_GR_DTV
Boost_FOUND
GSL_FOUND
diff --git a/grc/gui/external_editor.py b/grc/gui/external_editor.py
index 76f21412b0..010bd71d1a 100644
--- a/grc/gui/external_editor.py
+++ b/grc/gui/external_editor.py
@@ -34,18 +34,14 @@ class ExternalEditor(threading.Thread):
self.editor = editor
self.callback = callback
- self.tempfile = self._create_tempfile(name, value)
+ self.filename = self._create_tempfile(name, value)
def _create_tempfile(self, name, value):
- fp = tempfile.NamedTemporaryFile(mode='w', suffix='.py',
- prefix=name + '_')
- fp.write(value)
- fp.flush()
- return fp
-
- @property
- def filename(self):
- return self.tempfile.name
+ with tempfile.NamedTemporaryFile(
+ mode='wb', prefix=name + '_', suffix='.py', delete=False,
+ ) as fp:
+ fp.write(value.encode('utf-8'))
+ return fp.name
def open_editor(self):
proc = subprocess.Popen(args=(self.editor, self.filename))
@@ -65,16 +61,18 @@ class ExternalEditor(threading.Thread):
if mtime > last_change:
# print "file monitor: reload trigger for", filename
last_change = mtime
- with open(filename) as fp:
- data = fp.read()
+ with open(filename, 'rb') as fp:
+ data = fp.read().decode('utf-8')
self.callback(data)
time.sleep(1)
except Exception as e:
print >> sys.stderr, "file monitor crashed:", str(e)
- else:
- # print "file monitor: done with", filename
- pass
+ finally:
+ try:
+ os.remove(self.filename)
+ except OSError:
+ pass
if __name__ == '__main__':