buildframework/helium/sf/python/pythoncore/lib/helium/outputer.py
changeset 628 7c4a911dc066
parent 588 c7c26511138f
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
    36         url_file = urllib2.urlopen(url)#
    36         url_file = urllib2.urlopen(url)#
    37         data = url_file.read()
    37         data = url_file.read()
    38         url_file.close()
    38         url_file.close()
    39         self.__xml = amara.parse(data)
    39         self.__xml = amara.parse(data)
    40         
    40         
    41     def getClass(self, type, default = None):
    41     def getClass(self, type_, default = None):
    42         """get Class"""
    42         """get Class"""
    43         return self._getValue(type, "class", default)
    43         return self._getValue(type_, "class", default)
    44 
    44 
    45     def getImg(self, type, default = None):
    45     def getImg(self, type_, default = None):
    46         """ get Image"""
    46         """ get Image"""
    47         return self._getValue(type, "img", default)
    47         return self._getValue(type_, "img", default)
    48     
    48     
    49     def getWidth(self, type, default = None):
    49     def getWidth(self, type_, default = None):
    50         """get Width"""
    50         """get Width"""
    51         return self._getValue(type, "width", default)
    51         return self._getValue(type_, "width", default)
    52     
    52     
    53     def getHeight(self, type, default = None):
    53     def getHeight(self, type_, default = None):
    54         """get height"""
    54         """get height"""
    55         return self._getValue(type, "height", default)
    55         return self._getValue(type_, "height", default)
    56     
    56     
    57     def _getValue(self, type, attr, default = None):
    57     def _getValue(self, type_, attr, default = None):
    58         """get value"""
    58         """get value"""
    59         r_attr = self.__xml.xml_xpath("/htmloutput/icons/icon[@type='%s']" % type)
    59         r_attr = self.__xml.xml_xpath("/htmloutput/icons/icon[@type='%s']" % type_)
    60         if len(r_attr) == 0:
    60         if len(r_attr) == 0:
    61             if default == None:
    61             if default == None:
    62                 raise Exception("Not found")
    62                 raise Exception("Not found")
    63             else:
    63             else:
    64                 return default
    64                 return default
    65         return r_attr[0][attr]
    65         return r_attr[0][attr]
    66     
    66     
    67 class XML2XHTML:
    67 class XML2XHTML:
    68     """ This class is used to generate an html file from the given xml """
    68     """ This class is used to generate an html file from the given xml """
    69     def __init__(self, filename, url="http://fawww.europe.nokia.com/isis/isis_interface/configuration.xml", usedataurl=False):
    69     def __init__(self, filename, url="http://fawww.europe.nokia.com/isis/isis_interface/configuration.xml", usedataurl=False):
       
    70         self.__title = None
    70         self.__config = Configuration(url)
    71         self.__config = Configuration(url)
    71         self.__filename = filename
    72         self.__filename = filename
    72         self.__srcdoc = xml.dom.minidom.parse(filename)
    73         self.__srcdoc = xml.dom.minidom.parse(filename)
    73         self.__srcdoc.normalize()
    74         self.__srcdoc.normalize()
    74         self.__usedataurl = usedataurl
    75         self.__usedataurl = usedataurl
   163             elif child.nodeType == xml.dom.Node.ELEMENT_NODE and child.tagName == "build":
   164             elif child.nodeType == xml.dom.Node.ELEMENT_NODE and child.tagName == "build":
   164                 self._handleBuild(child, body)
   165                 self._handleBuild(child, body)
   165             elif child.nodeType == xml.dom.Node.ELEMENT_NODE and child.tagName == "task" and child.attributes.has_key('type') and child.attributes['type'] == "maincontent":
   166             elif child.nodeType == xml.dom.Node.ELEMENT_NODE and child.tagName == "task" and child.attributes.has_key('type') and child.attributes['type'] == "maincontent":
   166                 self._handleMainContent(child, body)
   167                 self._handleMainContent(child, body)
   167 
   168 
   168         try:
   169         footer = root.getElementsByTagName("__footer")[0]
   169             footer = root.getElementsByTagName("__footer")[0]
   170         f_foot = self.__factory["__footer"](self.__doc, body)
   170             f_foot = self.__factory["__footer"](self.__doc, body)
   171         if footer.attributes.has_key("title"):
   171             if footer.attributes.has_key("title"):
   172             f_foot.setTitle(footer.attributes['title'].value)
   172                 f_foot.setTitle(footer.attributes['title'].value)
   173         if footer.attributes.has_key("subtitle"):
   173             if footer.attributes.has_key("subtitle"):
   174             f_foot.setSubTitle(footer.attributes['subtitle'].value)
   174                 f_foot.setSubTitle(footer.attributes['subtitle'].value)
   175 
   175         except Exception:
       
   176             pass
       
   177         # Generate summary
   176         # Generate summary
   178         self._createSummary()
   177         self._createSummary()
   179 
   178 
   180     def _handleHeader(self, node, container):
   179     def _handleHeader(self, node, container):
   181         """handle Header"""
   180         """handle Header"""
   283                 else:
   282                 else:
   284                     self.__tags[node.tagName] = 1
   283                     self.__tags[node.tagName] = 1
   285 
   284 
   286     def _createSummary(self):
   285     def _createSummary(self):
   287         """create Summary"""
   286         """create Summary"""
   288         # pylint: disable-msg=E1101
   287         # pylint: disable=E1101
   289         if self.__xhtml_summary == None:
   288         if self.__xhtml_summary == None:
   290             self.__xhtml_summary = Summary(self.__doc, self.__body)
   289             self.__xhtml_summary = Summary(self.__doc, self.__body)
   291             self.__xhtml_summary.setTitle("Global Statistics")
   290             self.__xhtml_summary.setTitle("Global Statistics")
   292         keys = self.__tags.keys()
   291         keys = self.__tags.keys()
   293         keys.sort()
   292         keys.sort()