diff options
author | flavio <fdanesse@gmail.com> | 2012-12-09 15:49:51 (GMT) |
---|---|---|
committer | flavio <fdanesse@gmail.com> | 2012-12-09 15:49:51 (GMT) |
commit | 67750c7cad27164b29de3fdaac7766aecfb6f74e (patch) | |
tree | 0d080465c5c53316b07b0b48f9e09e698baf7c9b | |
parent | 42ed181746e167abd282ec0cdba271685189f164 (diff) |
Correction Rsvg.Handle(data=data)
-rw-r--r-- | utils.py | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -10,25 +10,27 @@ from gi.repository import GdkPixbuf from gi.repository import Rsvg def getStringFromPixbuf(pixbuf): + data = [""] pixbuf.save_to_callback(_saveDataToBufferCb, "png", {}, data) return base64.b64encode(str(data[0])) - def _saveDataToBufferCb(buf, data): + data[0] += buf return True - def getPixbufFromString(str): + pbl = GdkPixbuf.PixbufLoader() data = base64.b64decode( str ) pbl.write(data) pbl.close() + return pbl.get_pixbuf() - def load_colored_svg(filename, stroke, fill): + path = os.path.join(constants.GFX_PATH, filename) data = open(path, 'r').read() @@ -38,22 +40,24 @@ def load_colored_svg(filename, stroke, fill): entity = '<!ENTITY stroke_color "%s">' % stroke data = re.sub('<!ENTITY stroke_color .*>', entity, data) - #return Rsvg.Handle(data=data).get_pixbuf() - # FIXME: TypeError: Item 0: Must be number or single byte string, not unicode - #Rsvg.Handle.new_from_data(data).get_pixbuf() + Rsvg.Handle.new_from_data(name.encode('ascii', data)).get_pixbuf() def getUniqueFilepath( path, i ): + pathOb = os.path.abspath( path ) newPath = os.path.join( os.path.dirname(pathOb), str( str(i) + os.path.basename(pathOb) ) ) + if (os.path.exists(newPath)): i = i + 1 return getUniqueFilepath( pathOb, i ) + else: return os.path.abspath( newPath ) def generate_thumbnail(pixbuf): + return pixbuf.scale_simple(108, 81, GdkPixbuf.InterpType.BILINEAR) def getDateString( when ): + return strftime( "%c", time.localtime(when) ) - |