summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/core/loader.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/ranger/core/loader.py b/ranger/core/loader.py
index bae19e9e..d5e5e615 100644
--- a/ranger/core/loader.py
+++ b/ranger/core/loader.py
@@ -133,6 +133,7 @@ class CommandLoader(Loadable, SignalDispatcher, FileManagerAware):
         self.kill_on_pause = kill_on_pause
 
     def generate(self):
+        py3 = sys.version >= '3'
         if self.input:
             stdin = PIPE
         else:
@@ -141,12 +142,17 @@ class CommandLoader(Loadable, SignalDispatcher, FileManagerAware):
                 stdout=PIPE, stderr=PIPE, stdin=stdin)
         self.signal_emit('before', process=process, loader=self)
         if self.input:
+            if py3:
+                import io
+                stdin = io.TextIOWrapper(process.stdin)
+            else:
+                stdin = process.stdin
             try:
-                process.stdin.write(self.input)
+                stdin.write(self.input)
             except IOError as e:
                 if e.errno != errno.EPIPE and e.errno != errno.EINVAL:
                     raise
-            process.stdin.close()
+            stdin.close()
         if self.silent and not self.read:
             while process.poll() is None:
                 yield
@@ -154,7 +160,6 @@ class CommandLoader(Loadable, SignalDispatcher, FileManagerAware):
                     break
                 sleep(0.03)
         else:
-            py3 = sys.version >= '3'
             selectlist = []
             if self.read:
                 selectlist.append(process.stdout)
01:06:02 +0100 committer hut <hut@lepus.uberspace.de> 2015-03-19 01:06:02 +0100 Neater copyright header' href='/akspecs/ranger/commit/AUTHORS?h=v1.9.3&id=dc92d37539565a6ec2cb487dc0b26ed875b8ede4'>dc92d375 ^
565247df ^
5b14517a ^
cceb5d67 ^

912e26b4 ^
db2d4b1c ^
14adeb9c ^
dc92d375 ^
4d814e1e ^
8263cbac ^
dc92d375 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30