Make the sample script a little nicer
This commit is contained in:
parent
9d3a2cc219
commit
ee77144e2b
@ -101,7 +101,8 @@ features of the graphics protocol:
|
|||||||
import sys
|
import sys
|
||||||
from base64 import standard_b64encode
|
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())
|
cmd = ','.join('{}={}'.format(k, v) for k, v in cmd.items())
|
||||||
ans = []
|
ans = []
|
||||||
w = ans.append
|
w = ans.append
|
||||||
@ -112,18 +113,17 @@ features of the graphics protocol:
|
|||||||
w(b'\033\\')
|
w(b'\033\\')
|
||||||
return b''.join(ans)
|
return b''.join(ans)
|
||||||
|
|
||||||
def write_chunked(cmd, data):
|
def write_chunked(**cmd):
|
||||||
data = standard_b64encode(data)
|
data = standard_b64encode(cmd.pop('data'))
|
||||||
while data:
|
while data:
|
||||||
chunk, data = data[:4096], data[4096:]
|
chunk, data = data[:4096], data[4096:]
|
||||||
m = 1 if data else 0
|
m = 1 if data else 0
|
||||||
cmd['m'] = m
|
sys.stdout.buffer.write(serialize_gr_command(payload=chunk, m=m, **cmd))
|
||||||
sys.stdout.buffer.write(serialize_gr_command(cmd, chunk))
|
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
cmd.clear()
|
cmd.clear()
|
||||||
|
|
||||||
with open(sys.argv[-1], 'rb') as f:
|
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
|
Save this script as :file:`png.py`, then you can use it to display any PNG
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user