Dodanie funkcji do ulepszonej serializacji XMLa.
[redakcja.git] / apps / api / views.py
old mode 100644 (file)
new mode 100755 (executable)
index b96fc47..3e9cb01
@@ -1,6 +1,10 @@
 # Create your views here.
 
+import logging
+log = logging.getLogger('platforma.render')
+
 from django.http import HttpResponse
+import librarian
 from librarian import html
 from lxml import etree
 from StringIO import StringIO
@@ -12,17 +16,16 @@ def render(request):
     style_filename = html.get_stylesheet('partial')
 
     data = request.POST['fragment']
-    path = request.POST['part']
+    path = request.POST['chunk']
 
     base, me = path.rsplit('/', 1)
     match = re.match(r'([^\[]+)\[(\d+)\]', me)
-    tag, pos = match.groups()
-
-    print "Redner:", path, base, tag, pos
+    tag, pos = match.groups()   
 
     style = etree.parse(style_filename)
 
-    data = LINE_SWAP_EXPR.sub(u'<br />\n', data)
+    data = u'<chunk><%s>%s</%s></chunk>' % (tag, LINE_SWAP_EXPR.sub(u'<br />\n', data), tag)
+    log.info(data)    
     doc = etree.parse( StringIO(data) )
 
     opts = {
@@ -31,11 +34,5 @@ def render(request):
         'base-offset': pos,
     }
 
-    print opts
-    
     result = doc.xslt(style, **opts)
-
-    print result
-    
-    return HttpResponse(
-        etree.tostring(result, encoding=unicode, pretty_print=True) )
\ No newline at end of file
+    return HttpResponse( librarian.serialize_children(result.getroot()[0]) )
\ No newline at end of file