8000 Stderr support · neumond/python-computer-craft@9f1da1c · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit 9f1da1c

Browse files
committed
Stderr support
1 parent 9305372 commit 9f1da1c

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

computercraft/back.lua

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,9 @@ while true do
6969
event_sub[msg.event] = nil
7070
elseif msg.action == 'close' then
7171
if msg.error ~= nil then
72-
print(msg.error)
72+
io.stderr:write(msg.error)
7373
end
7474
break
75-
else
76-
print(msg)
7775
end
7876
elseif event_sub[event] == true then
7977
ws.send(textutils.serializeJSON{

computercraft/sess.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ def get_current_session():
5454

5555

5656
class StdFileProxy:
57-
def __init__(self, native):
57+
def __init__(self, native, err):
5858
self._native = native
59+
self._err = err
5960

6061
def read(self, size=-1):
6162
if _is_global_greenlet():
@@ -80,9 +81,14 @@ def write(self, s):
8081
if _is_global_greenlet():
8182
return self._native.write(s)
8283
else:
83-
return rproc.nil(eval_lua(
84-
lua_call('io.write', s)
85-
))
84+
if self._err:
85+
return rproc.nil(eval_lua(
86+
lua_call('io.stderr:write', s)
87+
))
88+
else:
89+
return rproc.nil(eval_lua(
90+
lua_call('io.write', s)
91+
))
8692

8793
def fileno(self):
8894
if _is_global_greenlet():
@@ -129,9 +135,9 @@ def install_import_hook():
129135

130136

131137
install_import_hook()
132-
sys.stdin = StdFileProxy(sys.__stdin__)
133-
sys.stdout = StdFileProxy(sys.__stdout__)
134-
sys.stderr = StdFileProxy(sys.__stderr__)
138+
sys.stdin = StdFileProxy(sys.__stdin__, False)
139+
sys.stdout = StdFileProxy(sys.__stdout__, False)
140+
sys.stderr = StdFileProxy(sys.__stderr__, True)
135141

136142

137143
def eval_lua(lua_code, immediate=False):

examples/broken.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
raise ValueError

0 commit comments

Comments
 (0)
0