diff --git a/lib/galaxy/util/__init__.py b/lib/galaxy/util/__init__.py index 006dbed7f16..0809bd7e7e9 100644 --- a/lib/galaxy/util/__init__.py +++ b/lib/galaxy/util/__init__.py @@ -169,11 +169,15 @@ def unique_id(KEY_SIZE=128): return md5(str( random.getrandbits( KEY_SIZE ) )).hexdigest() -def parse_xml(fname): +def parse_xml( fname ): """Returns a parsed xml tree""" - tree = ElementTree.parse(fname) - root = tree.getroot() - ElementInclude.include(root) + # handle deprecation warning for XMLParsing a file with DOCTYPE + class DoctypeSafeCallbackTarget( ElementTree.TreeBuilder ): + def doctype( *args ): + pass + tree = ElementTree.ElementTree() + root = tree.parse( fname, parser=ElementTree.XMLParser( target=DoctypeSafeCallbackTarget() ) ) + ElementInclude.include( root ) return tree diff --git a/lib/galaxy/visualization/registry.py b/lib/galaxy/visualization/registry.py index ca386e87ca3..d94841aa4ef 100644 --- a/lib/galaxy/visualization/registry.py +++ b/lib/galaxy/visualization/registry.py @@ -7,8 +7,6 @@ Lower level of visualization framework which does three main things: import os import shutil import glob -from xml.etree import ElementTree -from xml.etree import ElementInclude from galaxy import util import galaxy.model @@ -85,16 +83,6 @@ def hasattr_recursive( item, attr_key ): return True -def parse_xml( fname ): - # handle deprecation warning for XMLParsing a file with DOCTYPE - class DoctypeSafeCallbackTarget( ElementTree.TreeBuilder ): - def doctype( *args ): - pass - tree = ElementTree.ElementTree() - root = tree.parse( fname, parser=ElementTree.XMLParser( target=DoctypeSafeCallbackTarget() ) ) - ElementInclude.include( root ) - return tree - # ------------------------------------------------------------------- the registry class VisualizationsRegistry( pluginframework.PageServingPluginManager ): @@ -406,7 +394,7 @@ class VisualizationsConfigParser( object ): Parse the given XML file for visualizations data. :returns: visualization config dictionary """ - xml_tree = parse_xml( xml_filepath ) + xml_tree = util.parse_xml( xml_filepath ) visualization = self.parse_visualization( xml_tree.getroot() ) return visualization