diff --git a/dynastie/generators/generator.py b/dynastie/generators/generator.py index 72ff349..fc2fc6f 100755 --- a/dynastie/generators/generator.py +++ b/dynastie/generators/generator.py @@ -22,6 +22,7 @@ import hashlib import gzip import math import codecs +import re from xml.dom import * from xml.dom.minidom import parse from xml.parsers.expat import * @@ -64,7 +65,8 @@ class DynastieGenerator: self.hash_posts = hash_posts self.hash_posts_content = hash_posts_content self.user = request and request.user or None - + self.iframe_re = re.compile(r'(') + def addReport(self, string, color=''): if string in self.report: return if color: @@ -94,8 +96,10 @@ class DynastieGenerator: writer = StrictUTF8Writer() node.writexml(writer) - content = writer.getvalue() - + content = writer.getvalue().decode('utf-8') + # iframe tag must be like , not optimized ', content).encode('utf-8') + dst_md5 = hashlib.md5() dst_md5.update(content) @@ -164,8 +168,8 @@ class DynastieGenerator: for node in subtree.childNodes: div.appendChild(node.cloneNode(True)) - def createElement(self, dom, name='', content='', subtree=None): - div = dom.createElement('div') + def createElement(self, dom, name='', content='', subtree=None, _type='div'): + div = dom.createElement(_type) if name: div.setAttribute('class', name) if content: diff --git a/dynastie/generators/post.py b/dynastie/generators/post.py index d0cbb78..766cfa6 100755 --- a/dynastie/generators/post.py +++ b/dynastie/generators/post.py @@ -20,6 +20,7 @@ import datetime import os import xml +import re from xml.dom.minidom import parse, parseString from dynastie.generators.generator import DynastieGenerator, StrictUTF8Writer from dynastie.generators.index import Index @@ -257,6 +258,7 @@ class Post(Index): def preview(self, request, src, values): from dynastie.models import Blog + iframe_re = re.compile(r'(') self.user = request.user @@ -286,4 +288,8 @@ class Post(Index): writer = StrictUTF8Writer() nodes[0].writexml(writer) - return writer.getvalue().decode('utf-8') + content = writer.getvalue().decode('utf-8') + # iframe tag must be like , not optimized ', content) + + return content