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() |