OXIESEC PANEL
- Current Dir:
/
/
snap
/
core
/
17210
/
usr
/
lib
/
python3
/
dist-packages
/
serial
/
tools
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/02/2024 07:52:55 PM
rwxr-xr-x
📄
__init__.py
0 bytes
08/02/2015 10:00:41 PM
rw-r--r--
📁
__pycache__
-
10/02/2024 07:52:55 PM
rwxr-xr-x
📄
hexlify_codec.py
2.56 KB
12/16/2015 10:02:31 PM
rw-r--r--
📄
list_ports.py
3.06 KB
12/21/2015 08:55:18 PM
rw-r--r--
📄
list_ports_common.py
2.56 KB
12/30/2015 10:20:42 PM
rw-r--r--
📄
list_ports_linux.py
3.48 KB
12/16/2015 09:57:58 PM
rw-r--r--
📄
list_ports_osx.py
8.98 KB
12/16/2015 09:58:12 PM
rw-r--r--
📄
list_ports_posix.py
3.5 KB
12/16/2015 09:58:47 PM
rw-r--r--
📄
list_ports_windows.py
10.36 KB
01/11/2016 09:54:29 PM
rw-r--r--
📄
miniterm.py
31.56 KB
12/24/2015 10:07:28 PM
rw-r--r--
Editing: hexlify_codec.py
Close
#! python # # This is a codec to create and decode hexdumps with spaces between characters. used by miniterm. # # This file is part of pySerial. https://github.com/pyserial/pyserial # (C) 2011 Chris Liechti <cliechti@gmx.net> # # SPDX-License-Identifier: BSD-3-Clause """\ Python 'hex' Codec - 2-digit hex with spaces content transfer encoding. """ import codecs import serial HEXDIGITS = '0123456789ABCDEF' ### Codec APIs def hex_encode(input, errors='strict'): return (serial.to_bytes([int(h, 16) for h in input.split()]), len(input)) def hex_decode(input, errors='strict'): return (''.join('{:02X} '.format(b) for b in input), len(input)) class Codec(codecs.Codec): def encode(self, input, errors='strict'): return serial.to_bytes([int(h, 16) for h in input.split()]) def decode(self, input, errors='strict'): return ''.join('{:02X} '.format(b) for b in input) class IncrementalEncoder(codecs.IncrementalEncoder): def __init__(self, errors='strict'): self.errors = errors self.state = 0 def reset(self): self.state = 0 def getstate(self): return self.state def setstate(self, state): self.state = state def encode(self, input, final=False): state = self.state encoded = [] for c in input.upper(): if c in HEXDIGITS: z = HEXDIGITS.index(c) if state: encoded.append(z + (state & 0xf0)) state = 0 else: state = 0x100 + (z << 4) elif c == ' ': # allow spaces to separate values if state and self.errors == 'strict': raise UnicodeError('odd number of hex digits') state = 0 else: if self.errors == 'strict': raise UnicodeError('non-hex digit found: %r' % c) self.state = state return serial.to_bytes(encoded) class IncrementalDecoder(codecs.IncrementalDecoder): def decode(self, input, final=False): return ''.join('{:02X} '.format(b) for b in input) class StreamWriter(Codec, codecs.StreamWriter): pass class StreamReader(Codec, codecs.StreamReader): pass ### encodings module API def getregentry(): return codecs.CodecInfo( name='hexlify', encode=hex_encode, decode=hex_decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamwriter=StreamWriter, streamreader=StreamReader, _is_text_encoding=True, )