summaryrefslogtreecommitdiff
path: root/gerber/render/cairo_backend.py
diff options
context:
space:
mode:
authorGirts Folkmanis <girtsf@users.noreply.github.com>2016-11-07 17:11:07 -0800
committerGirts Folkmanis <girtsf@users.noreply.github.com>2016-11-07 17:11:07 -0800
commit369ac7b2a33b0de2e95eb2f0ec38d543ad7ca98d (patch)
tree963ceab268c54bb8379c7ea612d6b0a021a16424 /gerber/render/cairo_backend.py
parent22e668c75f24174d2090443ed98e804b3737bd84 (diff)
downloadgerbonara-369ac7b2a33b0de2e95eb2f0ec38d543ad7ca98d.tar.gz
gerbonara-369ac7b2a33b0de2e95eb2f0ec38d543ad7ca98d.tar.bz2
gerbonara-369ac7b2a33b0de2e95eb2f0ec38d543ad7ca98d.zip
cairo_backend.py: use BytesIO instead of StringIO
This fixes a crash in cairocffi on Python3, and should be compatible with both python2 and python3. In python2, byte strings are just strings. In python3, when getting binary data, the user probably wants a byte string instead of a regular string.
Diffstat (limited to 'gerber/render/cairo_backend.py')
-rw-r--r--gerber/render/cairo_backend.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py
index df4fcf1..d7026b8 100644
--- a/gerber/render/cairo_backend.py
+++ b/gerber/render/cairo_backend.py
@@ -25,10 +25,7 @@ from .render import GerberContext, RenderSettings
from .theme import THEMES
from ..primitives import *
-try:
- from cStringIO import StringIO
-except(ImportError):
- from io import StringIO
+from io import BytesIO
class GerberCairoContext(GerberContext):
@@ -125,9 +122,9 @@ class GerberCairoContext(GerberContext):
self.surface.write_to_png(filename)
def dump_str(self):
- """ Return a string containing the rendered image.
+ """ Return a byte-string containing the rendered image.
"""
- fobj = StringIO()
+ fobj = BytesIO()
self.surface.write_to_png(fobj)
return fobj.getvalue()