1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-08-13 16:53:48 -04:00

gen.py: support for fetching remote images.

This commit is contained in:
Tobias Markmann 2014-03-13 19:33:09 +01:00
parent 53eeaac258
commit ff5614fff8

5
gen.py
View File

@ -48,6 +48,7 @@ from xml.dom.minidom import parse,parseString,Document,getDOMImplementation
# for serializing inline images # for serializing inline images
import base64 import base64
import urlparse import urlparse
import urllib
XEPPATH = "/var/www/vhosts/xmpp.org/extensions" XEPPATH = "/var/www/vhosts/xmpp.org/extensions"
CONFIGPATH = "/var/local/xsf" CONFIGPATH = "/var/local/xsf"
@ -60,6 +61,7 @@ files_to_delete = [];
def serializeInlineImage(output_dir, xep_nr, no, attrValue): def serializeInlineImage(output_dir, xep_nr, no, attrValue):
up = urlparse.urlparse(attrValue) up = urlparse.urlparse(attrValue)
if up.scheme == 'data':
head, data = up.path.split(',') head, data = up.path.split(',')
bits = head.split(';') bits = head.split(';')
mime_type = bits[0] if bits[0] else 'text/plain' mime_type = bits[0] if bits[0] else 'text/plain'
@ -78,6 +80,9 @@ def serializeInlineImage(output_dir, xep_nr, no, attrValue):
file_ext = mime_type.split('/')[1] file_ext = mime_type.split('/')[1]
f = open(output_dir + '/' + 'inlineimage-' + xep_nr + '-' + str(no) + '.' + file_ext, 'wb') f = open(output_dir + '/' + 'inlineimage-' + xep_nr + '-' + str(no) + '.' + file_ext, 'wb')
f.write(plaindata) f.write(plaindata)
elif up.scheme == 'http':
file_name, file_ext = os.path.splitext(up.path)
urllib.urlretrieve(attrValue, output_dir + '/' + 'inlineimage-' + xep_nr + '-' + str(no) + file_ext)
def serializeXEPInlineImages(output_dir, xep_nr, filename): def serializeXEPInlineImages(output_dir, xep_nr, filename):
dom = parse(filename) dom = parse(filename)