summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Roversi <diegor@tiscali.it>2019-09-20 11:07:17 +0200
committerDiego Roversi <diegor@tiscali.it>2019-09-20 11:07:17 +0200
commit467868432601ac9f0ba76506bf0f33b79d428ac3 (patch)
tree53743336b28b407b83fd0ca2987397e6b811a8a7
parent55c5d83e6ef3586db477c26f93539d8182956b0e (diff)
massive conversion of string in bytearrays. TODO: check is all fine
-rw-r--r--common/pixmap.py42
1 files changed, 21 insertions, 21 deletions
diff --git a/common/pixmap.py b/common/pixmap.py
index 51bfd8b..3e52486 100644
--- a/common/pixmap.py
+++ b/common/pixmap.py
@@ -2,23 +2,23 @@
import io
def decodepixmap(data):
- f = io.StringIO(data)
+ f = io.BytesIO(data)
sig = f.readline().strip()
- assert sig == "P6"
+ assert sig == b"P6"
while 1:
line = f.readline().strip()
- if not line.startswith('#'):
+ if not line.startswith(b'#'):
break
wh = line.split()
w, h = list(map(int, wh))
sig = f.readline().strip()
- assert sig == "255"
+ assert sig == b"255"
data = f.read()
f.close()
return w, h, data
def encodepixmap(w, h, data):
- return 'P6\n%d %d\n255\n%s' % (w, h, data)
+ return b'P6\n%d %d\n255\n%s' % (w, h, data)
def cropimage(xxx_todo_changeme, xxx_todo_changeme1):
(w, h, data) = xxx_todo_changeme
@@ -30,39 +30,39 @@ def cropimage(xxx_todo_changeme, xxx_todo_changeme1):
for p in range(y1*scanline + x1*3,
(y1+h1)*scanline + x1*3,
scanline)]
- return w1, h1, ''.join(lines)
+ return w1, h1, b''.join(lines)
def vflip(w, h, data):
scanline = w*3
lines = [data[p:p+scanline] for p in range(0, len(data), scanline)]
lines.reverse()
- return ''.join(lines)
+ return b''.join(lines)
def hflip(w, h, data):
scanline = w*3
- lines = [''.join([data[p:p+3] for p in range(p1+scanline-3, p1-3, -3)])
+ lines = [b''.join([data[p:p+3] for p in range(p1+scanline-3, p1-3, -3)])
for p1 in range(0, len(data), scanline)]
- return ''.join(lines)
+ return b''.join(lines)
def rotate_cw(w, h, data):
scanline = w*3
lastline = len(data) - scanline
- lines = [''.join([data[p:p+3] for p in range(lastline + p1, -1, -scanline)])
+ lines = [b''.join([data[p:p+3] for p in range(lastline + p1, -1, -scanline)])
for p1 in range(0, scanline, 3)]
- return ''.join(lines)
+ return b''.join(lines)
def rotate_ccw(w, h, data):
scanline = w*3
- lines = [''.join([data[p:p+3] for p in range(p1, len(data), scanline)])
+ lines = [b''.join([data[p:p+3] for p in range(p1, len(data), scanline)])
for p1 in range(scanline-3, -3, -3)]
- return ''.join(lines)
+ return b''.join(lines)
def rotate_180(w, h, data):
scanline = w*3
- lines = [''.join([data[p:p+3] for p in range(p1+scanline-3, p1-3, -3)])
+ lines = [b''.join([data[p:p+3] for p in range(p1+scanline-3, p1-3, -3)])
for p1 in range(0, len(data), scanline)]
lines.reverse()
- return ''.join(lines)
+ return b''.join(lines)
def makebkgnd(w, h, data):
scanline = 3*w
@@ -73,14 +73,14 @@ def makebkgnd(w, h, data):
line.append(2 * (chr(ord(data[p ]) >> 3) +
chr(ord(data[p+1]) >> 3) +
chr(ord(data[p+2]) >> 3)))
- line = ''.join(line)
+ line = b''.join(line)
result.append(line)
result.append(line)
- return w*2, h*2, ''.join(result)
+ return w*2, h*2, b''.join(result)
-translation_darker = ('\x00\x01' + '\x00'*126 +
- ''.join([chr(n//4) for n in range(0,128)]))
-translation_dragon = translation_darker[:255] + '\xC0'
+translation_darker = (b'\x00\x01' + b'\x00'*126 +
+ b''.join([bytes([n//4]) for n in range(0,128)]))
+translation_dragon = translation_darker[:255] + b'\xC0'
def make_dark(xxx_todo_changeme2, translation):
(w, h, data) = xxx_todo_changeme2
@@ -163,5 +163,5 @@ def imagezoomer(w, h, data):
# ______________________________
result.append(revcache[p1])
- data = ''.join(result)
+ data = b''.join(result)
yield (rw, rh, data)