initial python terminal emulator for PTY driver

This commit is contained in:
chrys87 2017-04-28 14:16:36 +02:00 committed by GitHub
parent 5f1d6f4350
commit 18a4383ead
2 changed files with 34 additions and 24 deletions

View File

@ -1,24 +0,0 @@
#!/bin/python3
import sys, os
import pty
mode = 'wb'
shell = '/bin/bash'
if 'SHELL' in os.environ:
shell = os.environ['SHELL']
filename = '/home/chrys/mytypescript.txt'
script = open(filename, mode)
def read(fd):
data = os.read(fd, 1024)
script.write(data)
return data
def write(fd):
data = os.read(fd, 1024)
return data
pty.spawn(shell, read, write)

34
play zone/pyterm.py Executable file
View File

@ -0,0 +1,34 @@
#!/bin/python3
import sys, os
import pty
import pyte
class FenrirTermStream(pyte.Stream):
def __init__(self):
super().__init__()
def attach(self, screen):
super().attach(screen)
def feed(self, text):
super().feed(text)
class FenrirTermEmu():
def __init__(self):
self.shell = '/bin/bash'
if 'SHELL' in os.environ:
self.shell = os.environ['SHELL']
self.screen = pyte.Screen(80,24)
self.stream = FenrirTermStream()
self.stream.attach(self.screen)
def outputCallback(self, fd):
data = os.read(fd, 1024)
self.stream.feed(data.decode('UTF8'))
# alles
print(self.screen.display)
# input
print(data.decode('UTF8'))
return data
def inputCallback(self, fd):
data = os.read(fd, 1024)
return data
def startEmulator(self):
pty.spawn(self.shell, self.outputCallback, self.inputCallback)