style: some of the suggestions from flake8 and pylint
diff --git a/serial/tools/miniterm.py b/serial/tools/miniterm.py
index b55c3bb..e82cc9b 100644
--- a/serial/tools/miniterm.py
+++ b/serial/tools/miniterm.py
@@ -36,6 +36,8 @@
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ConsoleBase(object):
+ """OS abstraction for console (input/output codec, no echo)"""
+
def __init__(self):
if sys.version_info >= (3, 0):
self.byte_output = sys.stdout.buffer
@@ -44,19 +46,22 @@
self.output = sys.stdout
def setup(self):
- pass
+ """Set console to read single characters, no echo"""
def cleanup(self):
- pass
+ """Restore default console settings"""
def getkey(self):
+ """Read a single key from the console"""
return None
def write_bytes(self, s):
+ """Write bytes (already encoded)"""
self.byte_output.write(s)
self.byte_output.flush()
def write(self, s):
+ """Write string"""
self.output.write(s)
self.output.flush()
@@ -145,7 +150,8 @@
termios.tcsetattr(self.fd, termios.TCSAFLUSH, self.old)
else:
- raise NotImplementedError("Sorry no implementation for your platform (%s) available." % sys.platform)
+ raise NotImplementedError(
+ 'Sorry no implementation for your platform ({}) available.'.format(sys.platform))
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -326,6 +332,11 @@
self.update_transformations()
self.exit_character = 0x1d # GS/CTRL+]
self.menu_character = 0x14 # Menu: CTRL+T
+ self.alive = None
+ self._reader_alive = None
+ self.receiver_thread = None
+ self.rx_decoder = None
+ self.tx_decoder = None
def _start_reader(self):
"""Start reader thread"""
@@ -358,7 +369,8 @@
self.receiver_thread.join()
def update_transformations(self):
- transformations = [EOL_TRANSFORMATIONS[self.eol]] + [TRANSFORMATIONS[f] for f in self.filters]
+ transformations = [EOL_TRANSFORMATIONS[self.eol]] + [TRANSFORMATIONS[f]
+ for f in self.filters]
self.tx_transformations = [t() for t in transformations]
self.rx_transformations = list(reversed(self.tx_transformations))
@@ -372,17 +384,17 @@
def dump_port_settings(self):
sys.stderr.write("\n--- Settings: {p.name} {p.baudrate},{p.bytesize},{p.parity},{p.stopbits}\n".format(
- p=self.serial))
+ p=self.serial))
sys.stderr.write('--- RTS: {:8} DTR: {:8} BREAK: {:8}\n'.format(
- ('active' if self.serial.rts else 'inactive'),
- ('active' if self.serial.dtr else 'inactive'),
- ('active' if self.serial.break_condition else 'inactive')))
+ ('active' if self.serial.rts else 'inactive'),
+ ('active' if self.serial.dtr else 'inactive'),
+ ('active' if self.serial.break_condition else 'inactive')))
try:
sys.stderr.write('--- CTS: {:8} DSR: {:8} RI: {:8} CD: {:8}\n'.format(
- ('active' if self.serial.cts else 'inactive'),
- ('active' if self.serial.dsr else 'inactive'),
- ('active' if self.serial.ri else 'inactive'),
- ('active' if self.serial.cd else 'inactive')))
+ ('active' if self.serial.cts else 'inactive'),
+ ('active' if self.serial.dsr else 'inactive'),
+ ('active' if self.serial.ri else 'inactive'),
+ ('active' if self.serial.cd else 'inactive')))
except serial.SerialException:
# on RFC 2217 ports, it can happen if no modem state notification was
# yet received. ignore this error.
@@ -494,8 +506,8 @@
elif c == '\x06': # CTRL+F -> edit filters
sys.stderr.write('\n--- Available Filters:\n')
sys.stderr.write('\n'.join(
- '--- {:<10} = {.__doc__}'.format(k, v)
- for k, v in sorted(TRANSFORMATIONS.items())))
+ '--- {:<10} = {.__doc__}'.format(k, v)
+ for k, v in sorted(TRANSFORMATIONS.items())))
sys.stderr.write('\n--- Enter new filter name(s) [{}]: '.format(' '.join(self.filters)))
with self.console:
new_filters = sys.stdin.readline().lower().split()
@@ -661,124 +673,124 @@
import argparse
parser = argparse.ArgumentParser(
- description="Miniterm - A simple terminal program for the serial port.")
+ description="Miniterm - A simple terminal program for the serial port.")
parser.add_argument(
- "port",
- nargs='?',
- help="serial port name ('-' to show port list)",
- default=default_port)
+ "port",
+ nargs='?',
+ help="serial port name ('-' to show port list)",
+ default=default_port)
parser.add_argument(
- "baudrate",
- nargs='?',
- type=int,
- help="set baud rate, default: %(default)s",
- default=default_baudrate)
+ "baudrate",
+ nargs='?',
+ type=int,
+ help="set baud rate, default: %(default)s",
+ default=default_baudrate)
group = parser.add_argument_group("port settings")
group.add_argument(
- "--parity",
- choices=['N', 'E', 'O', 'S', 'M'],
- type=lambda c: c.upper(),
- help="set parity, one of {N E O S M}, default: N",
- default='N')
+ "--parity",
+ choices=['N', 'E', 'O', 'S', 'M'],
+ type=lambda c: c.upper(),
+ help="set parity, one of {N E O S M}, default: N",
+ default='N')
group.add_argument(
- "--rtscts",
- action="store_true",
- help="enable RTS/CTS flow control (default off)",
- default=False)
+ "--rtscts",
+ action="store_true",
+ help="enable RTS/CTS flow control (default off)",
+ default=False)
group.add_argument(
- "--xonxoff",
- action="store_true",
- help="enable software flow control (default off)",
- default=False)
+ "--xonxoff",
+ action="store_true",
+ help="enable software flow control (default off)",
+ default=False)
group.add_argument(
- "--rts",
- type=int,
- help="set initial RTS line state (possible values: 0, 1)",
- default=default_rts)
+ "--rts",
+ type=int,
+ help="set initial RTS line state (possible values: 0, 1)",
+ default=default_rts)
group.add_argument(
- "--dtr",
- type=int,
- help="set initial DTR line state (possible values: 0, 1)",
- default=default_dtr)
+ "--dtr",
+ type=int,
+ help="set initial DTR line state (possible values: 0, 1)",
+ default=default_dtr)
group.add_argument(
- "--ask",
- action="store_true",
- help="ask again for port when open fails",
- default=False)
+ "--ask",
+ action="store_true",
+ help="ask again for port when open fails",
+ default=False)
group = parser.add_argument_group("data handling")
group.add_argument(
- "-e", "--echo",
- action="store_true",
- help="enable local echo (default off)",
- default=False)
+ "-e", "--echo",
+ action="store_true",
+ help="enable local echo (default off)",
+ default=False)
group.add_argument(
- "--encoding",
- dest="serial_port_encoding",
- metavar="CODEC",
- help="set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default: %(default)s",
- default='UTF-8')
+ "--encoding",
+ dest="serial_port_encoding",
+ metavar="CODEC",
+ help="set the encoding for the serial port (e.g. hexlify, Latin1, UTF-8), default: %(default)s",
+ default='UTF-8')
group.add_argument(
- "-f", "--filter",
- action="append",
- metavar="NAME",
- help="add text transformation",
- default=[])
+ "-f", "--filter",
+ action="append",
+ metavar="NAME",
+ help="add text transformation",
+ default=[])
group.add_argument(
- "--eol",
- choices=['CR', 'LF', 'CRLF'],
- type=lambda c: c.upper(),
- help="end of line mode",
- default='CRLF')
+ "--eol",
+ choices=['CR', 'LF', 'CRLF'],
+ type=lambda c: c.upper(),
+ help="end of line mode",
+ default='CRLF')
group.add_argument(
- "--raw",
- action="store_true",
- help="Do no apply any encodings/transformations",
- default=False)
+ "--raw",
+ action="store_true",
+ help="Do no apply any encodings/transformations",
+ default=False)
group = parser.add_argument_group("hotkeys")
group.add_argument(
- "--exit-char",
- type=int,
- metavar='NUM',
- help="Unicode of special character that is used to exit the application, default: %(default)s",
- default=0x1d) # GS/CTRL+]
+ "--exit-char",
+ type=int,
+ metavar='NUM',
+ help="Unicode of special character that is used to exit the application, default: %(default)s",
+ default=0x1d) # GS/CTRL+]
group.add_argument(
- "--menu-char",
- type=int,
- metavar='NUM',
- help="Unicode code of special character that is used to control miniterm (menu), default: %(default)s",
- default=0x14) # Menu: CTRL+T
+ "--menu-char",
+ type=int,
+ metavar='NUM',
+ help="Unicode code of special character that is used to control miniterm (menu), default: %(default)s",
+ default=0x14) # Menu: CTRL+T
group = parser.add_argument_group("diagnostics")
group.add_argument(
- "-q", "--quiet",
- action="store_true",
- help="suppress non-error messages",
- default=False)
+ "-q", "--quiet",
+ action="store_true",
+ help="suppress non-error messages",
+ default=False)
group.add_argument(
- "--develop",
- action="store_true",
- help="show Python traceback on error",
- default=False)
+ "--develop",
+ action="store_true",
+ help="show Python traceback on error",
+ default=False)
args = parser.parse_args()
@@ -789,8 +801,8 @@
if 'help' in args.filter:
sys.stderr.write('Available filters:\n')
sys.stderr.write('\n'.join(
- '{:<10} = {.__doc__}'.format(k, v)
- for k, v in sorted(TRANSFORMATIONS.items())))
+ '{:<10} = {.__doc__}'.format(k, v)
+ for k, v in sorted(TRANSFORMATIONS.items())))
sys.stderr.write('\n')
sys.exit(1)
filters = args.filter
@@ -810,13 +822,13 @@
parser.error('port is not given')
try:
serial_instance = serial.serial_for_url(
- args.port,
- args.baudrate,
- parity=args.parity,
- rtscts=args.rtscts,
- xonxoff=args.xonxoff,
- timeout=1,
- do_not_open=True)
+ args.port,
+ args.baudrate,
+ parity=args.parity,
+ rtscts=args.rtscts,
+ xonxoff=args.xonxoff,
+ timeout=1,
+ do_not_open=True)
if args.dtr is not None:
if not args.quiet:
@@ -840,10 +852,10 @@
break
miniterm = Miniterm(
- serial_instance,
- echo=args.echo,
- eol=args.eol.lower(),
- filters=filters)
+ serial_instance,
+ echo=args.echo,
+ eol=args.eol.lower(),
+ filters=filters)
miniterm.exit_character = unichr(args.exit_char)
miniterm.menu_character = unichr(args.menu_char)
miniterm.raw = args.raw
@@ -852,12 +864,12 @@
if not args.quiet:
sys.stderr.write('--- Miniterm on {p.name} {p.baudrate},{p.bytesize},{p.parity},{p.stopbits} ---\n'.format(
- p=miniterm.serial))
+ p=miniterm.serial))
sys.stderr.write('--- Quit: {} | Menu: {} | Help: {} followed by {} ---\n'.format(
- key_description(miniterm.exit_character),
- key_description(miniterm.menu_character),
- key_description(miniterm.menu_character),
- key_description('\x08')))
+ key_description(miniterm.exit_character),
+ key_description(miniterm.menu_character),
+ key_description(miniterm.menu_character),
+ key_description('\x08')))
miniterm.start()
try: