misc: move xml indenting function to a better place (#4739)
This commit is contained in:
parent
7c592ad9d2
commit
3be51c00d2
|
@ -3,12 +3,13 @@ import shutil
|
|||
import StringIO
|
||||
import tempfile
|
||||
import time
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from quixote import cleanup
|
||||
from wcs import publisher
|
||||
|
||||
from wcs.formdef import FormDef, fields
|
||||
from wcs.admin.forms import ET, indent
|
||||
from qommon.misc import indent_xml as indent
|
||||
|
||||
|
||||
def setup_module(module):
|
||||
|
|
|
@ -2,15 +2,17 @@ import sys
|
|||
import shutil
|
||||
import StringIO
|
||||
import tempfile
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from quixote import cleanup
|
||||
from wcs import publisher
|
||||
|
||||
from wcs.workflows import Workflow, CommentableWorkflowStatusItem
|
||||
from wcs.roles import Role
|
||||
from wcs.admin.forms import ET, indent
|
||||
from wcs.fields import StringField
|
||||
|
||||
from qommon.misc import indent_xml as indent
|
||||
|
||||
|
||||
def setup_module(module):
|
||||
cleanup()
|
||||
|
|
|
@ -44,23 +44,6 @@ from wcs.forms.root import qrcode
|
|||
|
||||
from fields import FieldDefPage, FieldsDirectory
|
||||
|
||||
def indent(elem, level=0):
|
||||
# in-place prettyprint formatter
|
||||
# http://effbot.org/zone/element-lib.htm#prettyprint
|
||||
i = "\n" + level*" "
|
||||
if len(elem):
|
||||
if not elem.text or not elem.text.strip():
|
||||
elem.text = i + " "
|
||||
for elem in elem:
|
||||
indent(elem, level+1)
|
||||
if not elem.tail or not elem.tail.strip():
|
||||
elem.tail = i
|
||||
else:
|
||||
if level and (not elem.tail or not elem.tail.strip()):
|
||||
elem.tail = i
|
||||
return elem
|
||||
|
||||
|
||||
def get_categories():
|
||||
t = sorted([(misc.simplify(x.name), x.id, x.name, x.id) for x in Category.select()])
|
||||
return [x[1:] for x in t]
|
||||
|
@ -932,7 +915,7 @@ class FormDefPage(Directory):
|
|||
|
||||
def export(self):
|
||||
x = self.formdef.export_to_xml(include_id=True)
|
||||
indent(x)
|
||||
misc.indent_xml(x)
|
||||
response = get_response()
|
||||
response.set_content_type('application/x-wcs-form')
|
||||
response.set_header('content-disposition',
|
||||
|
|
|
@ -18,7 +18,7 @@ import time
|
|||
from StringIO import StringIO
|
||||
from subprocess import Popen, PIPE
|
||||
import textwrap
|
||||
import xml.etree.ElementTree as etree
|
||||
import xml.etree.ElementTree as ET
|
||||
import re
|
||||
import urllib2
|
||||
|
||||
|
@ -35,7 +35,6 @@ from qommon import get_logger
|
|||
from wcs.workflows import *
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.formdata import Evolution
|
||||
from wcs.admin.forms import ET, indent
|
||||
|
||||
|
||||
def svg(tag):
|
||||
|
@ -88,14 +87,14 @@ def graphviz_post_treatment(content):
|
|||
If a color style is set to a name matching class-\w+, set the second
|
||||
part on as class selector on the top level svg:g element.
|
||||
'''
|
||||
tree = etree.fromstring(content)
|
||||
tree = ET.fromstring(content)
|
||||
|
||||
for root in tree:
|
||||
remove_tag(root, TITLE)
|
||||
# remove_tag(root, POLYGON)
|
||||
for child in root:
|
||||
remove_style(child, child)
|
||||
return etree.tostring(tree)
|
||||
return ET.tostring(tree)
|
||||
|
||||
def graphviz(workflow, url_prefix='', select=None, svg=True,
|
||||
include=False):
|
||||
|
@ -787,7 +786,7 @@ class WorkflowPage(Directory):
|
|||
|
||||
def export(self):
|
||||
x = self.workflow.export_to_xml(include_id=True)
|
||||
indent(x)
|
||||
misc.indent_xml(x)
|
||||
response = get_response()
|
||||
response.set_content_type('application/x-wcs-form')
|
||||
response.set_header('content-disposition',
|
||||
|
|
|
@ -527,3 +527,20 @@ def get_foreground_colour(background_colour):
|
|||
def zap_context(msg):
|
||||
'''Removes translation context from message'''
|
||||
return msg.split('|', 1)[1]
|
||||
|
||||
|
||||
def indent_xml(elem, level=0):
|
||||
# in-place prettyprint formatter
|
||||
# http://effbot.org/zone/element-lib.htm#prettyprint
|
||||
i = "\n" + level*" "
|
||||
if len(elem):
|
||||
if not elem.text or not elem.text.strip():
|
||||
elem.text = i + " "
|
||||
for elem in elem:
|
||||
indent_xml(elem, level+1)
|
||||
if not elem.tail or not elem.tail.strip():
|
||||
elem.tail = i
|
||||
else:
|
||||
if level and (not elem.tail or not elem.tail.strip()):
|
||||
elem.tail = i
|
||||
return elem
|
||||
|
|
Loading…
Reference in New Issue