From ee77144e2b7cfbe5f9e7d7a78a685ed11a0b3fed Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 16 Jun 2021 18:51:21 +0530 Subject: [PATCH] Make the sample script a little nicer --- docs/graphics-protocol.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/graphics-protocol.rst b/docs/graphics-protocol.rst index c2259080f..7e55e47e2 100644 --- a/docs/graphics-protocol.rst +++ b/docs/graphics-protocol.rst @@ -101,7 +101,8 @@ features of the graphics protocol: import sys from base64 import standard_b64encode - def serialize_gr_command(cmd, payload=None): + def serialize_gr_command(**cmd): + payload = cmd.pop('payload', None) cmd = ','.join('{}={}'.format(k, v) for k, v in cmd.items()) ans = [] w = ans.append @@ -112,18 +113,17 @@ features of the graphics protocol: w(b'\033\\') return b''.join(ans) - def write_chunked(cmd, data): - data = standard_b64encode(data) + def write_chunked(**cmd): + data = standard_b64encode(cmd.pop('data')) while data: chunk, data = data[:4096], data[4096:] m = 1 if data else 0 - cmd['m'] = m - sys.stdout.buffer.write(serialize_gr_command(cmd, chunk)) + sys.stdout.buffer.write(serialize_gr_command(payload=chunk, m=m, **cmd)) sys.stdout.flush() cmd.clear() with open(sys.argv[-1], 'rb') as f: - write_chunked({'a': 'T', 'f': 100}, f.read()) + write_chunked(a='T', f=100, data=f.read()) Save this script as :file:`png.py`, then you can use it to display any PNG