mirror of
https://github.com/sstent/sublime-text-3.git
synced 2026-01-25 22:51:41 +00:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright (c) 2011, Wojciech Bederski (wuub.net)
|
|
# All rights reserved.
|
|
# See LICENSE.txt for details.
|
|
|
|
import telnetlib
|
|
from . import repl
|
|
|
|
class TelnetRepl(repl.Repl):
|
|
TYPE = "telnet"
|
|
|
|
def __init__(self, encoding, host="localhost", port=23, **kwds):
|
|
"""Create new TelnetRepl with the following initial values:
|
|
encoding: one of python accepted encoding used to encode commands and decode responses
|
|
external_id: external, persisten name of this repl used to find it later
|
|
host: telnet host to connect to
|
|
port: telnet port to connect to
|
|
cmd_postfix: some REPLS require you to end a command with a postfix to begin execution,
|
|
think ';' or '.', you can force repl to add it automatically"""
|
|
super(TelnetRepl, self).__init__(encoding, **kwds)
|
|
self._telnet = telnetlib.Telnet()
|
|
#convert to int for user's sake, we don't care if it's an float or string
|
|
# as long as it can be turned into an INT
|
|
self._telnet.open(host, int(port))
|
|
self._alive = True
|
|
self._killed = False
|
|
|
|
def name(self):
|
|
return "%s:%s" % (self._telnet.host, self._telnet.port)
|
|
|
|
def is_alive(self):
|
|
return self._alive
|
|
|
|
def read_bytes(self):
|
|
return self._telnet.read_some()
|
|
|
|
def write_bytes(self, bytes):
|
|
self._telnet.write(bytes)
|
|
|
|
def kill(self):
|
|
self._killed = True
|
|
self._telnet.close()
|
|
self._alive = False
|