+ 1#============================================================================
+ 2#Name : dataurl.py
+ 3#Part of : Helium
+ 4
+ 5#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ 6#All rights reserved.
+ 7#This component and the accompanying materials are made available
+ 8#under the terms of the License "Eclipse Public License v1.0"
+ 9#which accompanies this distribution, and is available
+10#at the URL "http://www.eclipse.org/legal/epl-v10.html".
+11#
+12#Initial Contributors:
+13#Nokia Corporation - initial contribution.
+14#
+15#Contributors:
+16#
+17#Description:
+18#===============================================================================
+19
+20""" This module implements method to create dataurl """
+21importmimetypes
+22importbase64
+23importurllib
+24
+
26""" This function returns a data url using content pointed by url. """
+27(mimetype,encoding)=mimetypes.guess_type(url)
+28ifmimetype==None:
+29returnurl
+30ifencoding!=None:
+31encoding="charset=%s;"%encoding
+32else:
+33encoding=""
+34data=urllib.urlopen(url).read()
+35return"data:%s;%sbase64,%s"%(mimetype,encoding,base64.encodestring(data).replace("\n",""))
+