def get_containing_tool_sections(self, tool_config): """ If tool_config is defined somewhere in self.proprietary_tool_panel_elems, return True and a list of ToolSections in which the tool is displayed. If the tool is displayed outside of any sections, None is appended to the list. """ tool_sections = [] is_displayed = False for proprietary_tool_panel_elem in self.proprietary_tool_panel_elems: if proprietary_tool_panel_elem.tag == 'tool': # The proprietary_tool_panel_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />. proprietary_tool_config = proprietary_tool_panel_elem.get('file') if tool_config == proprietary_tool_config: # The tool is loaded outside of any sections. tool_sections.append(None) if not is_displayed: is_displayed = True if proprietary_tool_panel_elem.tag == 'section': # The proprietary_tool_panel_elem looks something like <section name="EMBOSS" id="EMBOSSLite">. for section_elem in proprietary_tool_panel_elem: if section_elem.tag == 'tool': # The section_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />. proprietary_tool_config = section_elem.get('file') if tool_config == proprietary_tool_config: # The tool is loaded inside of the section_elem. tool_sections.append(ToolSection(ensure_tool_conf_item(proprietary_tool_panel_elem))) if not is_displayed: is_displayed = True return is_displayed, tool_sections
def get_containing_tool_sections(self, tool_config): """ If tool_config is defined somewhere in self.proprietary_tool_panel_elems, return True and a list of ToolSections in which the tool is displayed. If the tool is displayed outside of any sections, None is appended to the list. """ tool_sections = [] is_displayed = False for proprietary_tool_panel_elem in self.proprietary_tool_panel_elems: if proprietary_tool_panel_elem.tag == 'tool': # The proprietary_tool_panel_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />. proprietary_tool_config = proprietary_tool_panel_elem.get( 'file') if tool_config == proprietary_tool_config: # The tool is loaded outside of any sections. tool_sections.append(None) if not is_displayed: is_displayed = True if proprietary_tool_panel_elem.tag == 'section': # The proprietary_tool_panel_elem looks something like <section name="EMBOSS" id="EMBOSSLite">. for section_elem in proprietary_tool_panel_elem: if section_elem.tag == 'tool': # The section_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />. proprietary_tool_config = section_elem.get('file') if tool_config == proprietary_tool_config: # The tool is loaded inside of the section_elem. tool_sections.append( ToolSection( ensure_tool_conf_item( proprietary_tool_panel_elem))) if not is_displayed: is_displayed = True return is_displayed, tool_sections