def fromXml(self, xml): name = xml.getElementsByTagName("name")[0].childNodes[0].data.strip() path = xml.getElementsByTagName("path")[0].childNodes[0].data.strip() numeric = xml.getAttribute("numeric") format = xml.getElementsByTagName("name")[0].getAttribute("format") e = Episode(path, name, numeric, format) return e
def _formatForecastTemperatures(self, dom, type): tempC = self._getNodeValue( dom.getElementsByTagName(type)[0], 'celsius', u('N/A')) + u('\xb0C') tempF = self._getNodeValue( dom.getElementsByTagName(type)[0], 'fahrenheit', u('N/A')) + u('\xb0F') return self._formatForMetricOrImperial(tempF, tempC)
def _get_url(dom, search): for el in dom.getElementsByTagName('dc:identifier'): str = _get_text_node(el) match = search.search(str) if match: return match.group(1) return None
def fromXml(self, xml): episodes = xml.getElementsByTagName('episodes')[0] es = {} for x in episodes.getElementsByTagName('episode'): e = Episode.fromXml(x) es[e.name] = e xml.removeChild(episodes) name = xml.getElementsByTagName('name')[0].childNodes[0].data.strip() path = xml.getElementsByTagName('path')[0].childNodes[0].data.strip() numeric = xml.getAttribute('numeric') s = Season(path,name,numeric) s.episodeInfo = es return s
def _getForecast(self, location): dom = self._getDom(self._weatherForecastURL % utils.web.urlquote(location)) output = [] count = 0 max = self.registryValue('forecastDays', self.__channel) forecast = dom.getElementsByTagName('simpleforecast')[0] for day in forecast.getElementsByTagName('forecastday'): if count >= max and max != 0: break forecastOutput = [] forecastOutput.append( 'Forecast for ' + self._getNodeValue(day, 'weekday').capitalize() + ': ' + self._getNodeValue(day, 'conditions').capitalize()) forecastOutput.append( 'High of ' + self._formatForecastTemperatures(day, 'high')) forecastOutput.append('Low of ' + self._formatForecastTemperatures(day, 'low')) output.append('; '.join(forecastOutput)) count += 1 return output
def getTemplates(self): rc = [] dom = self.getDom() templates = dom.getElementsByTagName(CommitHelperConstants.XMLTAGTEMPLATE) for template in templates: rc.append(self.getItem(template)) return rc
def fromXml(self, xml): seasons = xml.getElementsByTagName('seasons')[0] ss = {} for x in seasons.getElementsByTagName('season'): s = Season.fromXml(x) ss[s.name] = s xml.removeChild(seasons) name = xml.getElementsByTagName('name')[0].childNodes[0].data.strip() path = xml.getElementsByTagName('path')[0].childNodes[0].data.strip() s = Series(path,name) s.seasonInfo = ss return s
def _getNodeValue(dom, value, default=u('Unknown')): subTag = dom.getElementsByTagName(value) if len(subTag) < 1: return default subTag = subTag[0].firstChild if subTag == None: return default return subTag.nodeValue
def _get_year(dom): # Most of the year stuff is contained in the coverage tag, along with the # positional data. for el in dom.getElementsByTagName('dc:coverage'): str = _get_text_node(el) match = year_search_.search(str) if match: return int(match.group(1)) return None
def updateHistory(self): if not CommitHelperConstants.AVOIDCONFIGFILE: message = list(self.getMessage()) del message[1:2] dom = self.model.getDom() historyElement = dom.getElementsByTagName(CommitHelperConstants.XMLTAGHISTORY)[0] items = historyElement.getElementsByTagName(CommitHelperConstants.XMLTAGITEM) if not self.sameInHistory(message, items): self.appendMessage(dom, message)
def parseXml( self, xmlDocument ): dom = parseString( xmlDocument.strip() ) #decide if this is #dataContainer or #monitorLogEntry monitorLogs = dom.getElementsByTagName("monitorLogEntry") container = dom.getElementsByTagName("dataContainer") if len(monitorLogs) == 1: m = monitorLog() for tag in ['host','rid','dataId','start_timestamp','end_timestamp','error','std_out','transferredData']: for node in dom.getElementsByTagName(tag): text = getText(node.childNodes) if tag == "host": m.setHost( text ) if tag == "rid": m.setRemoteLogId( text ) if tag == "dataId": m.setDataId( text ) if tag == "start_timestamp": m.setStartTimestamp( text ) if tag == "end_timestamp": m.setEndTimestamp( text ) if tag == "error": m.setError( text ) if tag == "std_out": m.setStatus( text ) if tag == "transferredData": m.setTransferredData( text ) return m if len(container) == 1: m = dataContainer('default') for tag in ['host','name','comment','checksum','archive','archive_method','archive_ttl','options','compress','schedule','dataID','remotePath']: for node in dom.getElementsByTagName(tag): text = getText(node.childNodes) if tag == "dataID": m.dataID = text if tag == "host": m.host = text if tag == "name": m.name = text if tag == "comment": m.comment = text if tag == "checksum": m.checksum = text if tag == "archive": m.archive = text if tag == "archive_method": m.archive_method = text if tag == "archive_ttl": m.archive_ttl = text if tag == "options": m.options = text if tag == "compress": m.compress = text if tag == "schedule": m.schedule = text if tag == "remotePath": m.remotePath = text return m
def _get_string(dom, element, joiner=' '): retval = '' for el in dom.getElementsByTagName(element): str = _get_text_node(el) if len(str): if len(retval): retval += joiner + str else: retval += str return retval
def getHistory(self): rc = [] dom = self.getDom() historyElement = dom.getElementsByTagName(CommitHelperConstants.XMLTAGHISTORY)[0] items = historyElement.getElementsByTagName(CommitHelperConstants.XMLTAGITEM) if [] != items: for item in items: rc.append(self.getItem(item)) else: messagebox.showinfo(CommitHelperConstants.INFO, CommitHelperConstants.MSGEMPTYHISTORY) return rc
def handleDocument(self, dom): # we only need the pages pages = dom.getElementsByTagName("draw:page") # iterate pages for page in pages: self.currentDepth = 0 self.currentSlide = Slide() self.handleNode(page) self.currentSlide.text = self.currentText self.slides.append(self.currentSlide) self.currentText = ""
def appendMessage(self, dom, message): historyElement = dom.getElementsByTagName(CommitHelperConstants.XMLTAGHISTORY)[0] item = dom.createElement(CommitHelperConstants.XMLTAGITEM) brief = dom.createElement(CommitHelperConstants.XMLTAGBRIEF) briefText = dom.createTextNode(message[0]) comment = dom.createElement(CommitHelperConstants.XMLTAGCOMMENT) commentText = dom.createTextNode(message[1]) initialFindings = dom.createElement(CommitHelperConstants.XMLTAGINITIALFINDINGS) initialFindingsText = dom.createTextNode(message[2]) reviewers = dom.createElement(CommitHelperConstants.XMLTAGREVIEWERS) reviewersText = dom.createTextNode(message[3]) reviewFindings = dom.createElement(CommitHelperConstants.XMLTAGREVIEWFINDINGS) reviewFindingsText = dom.createTextNode(message[4]) risk = dom.createElement(CommitHelperConstants.XMLTAGRISK) risk.setAttribute(CommitHelperConstants.XMLATTRIBUTEOPTION, message[5]) jirakey = dom.createElement(CommitHelperConstants.XMLTAGJIRAKEY) jirakeyText = dom.createTextNode(message[6]) staticCodeAnalysis = dom.createElement(CommitHelperConstants.XMLTAGSTATICCODEANALYSIS) staticCodeAnalysis.setAttribute(CommitHelperConstants.XMLATTRIBUTEOPTION, message[7]) staticCodeAnalysisText = dom.createTextNode(message[8]) brief.appendChild(briefText) comment.appendChild(commentText) initialFindings.appendChild(initialFindingsText) reviewers.appendChild(reviewersText) reviewFindings.appendChild(reviewFindingsText) jirakey.appendChild(jirakeyText) staticCodeAnalysis.appendChild(staticCodeAnalysisText) item.appendChild(brief) item.appendChild(comment) item.appendChild(initialFindings) item.appendChild(reviewers) item.appendChild(reviewFindings) item.appendChild(risk) item.appendChild(jirakey) item.appendChild(staticCodeAnalysis) historyElement.appendChild(item) items = historyElement.getElementsByTagName(CommitHelperConstants.XMLTAGITEM) while len(items) > CommitHelperConstants.MAXHISTORYSIZE: historyElement.removeChild(items[0]) items = historyElement.getElementsByTagName(CommitHelperConstants.XMLTAGITEM) homePath = os.path.expanduser('~') configPath = os.path.join(homePath, CommitHelperConstants.CONFIGDIR) configFile = os.path.join(configPath, CommitHelperConstants.CONFIGFILE) try: config = open(configFile, 'w') config.write(dom.toxml()) config.flush() config.close() except IOError: messagebox.showerror(CommitHelperConstants.ERROR, CommitHelperConstants.MSGERRORWRITINGFILE % configFile)
def parseXML(self,delete=False): try: xml = self.minidom.parseString(self.response.getvalue()) if delete: self.message = xml.getElementsByTagName("message")[0].firstChild.data else: self.imageURL['url'] = xml.getElementsByTagName("original")[0].firstChild.data self.imageURL['hash'] = xml.getElementsByTagName("hash")[0].firstChild.data self.imageURL['deletehash'] = xml.getElementsByTagName("deletehash")[0].firstChild.data self.imageURL['smallthumb'] = xml.getElementsByTagName("small_square")[0].firstChild.data self.imageURL['bigthumb'] = xml.getElementsByTagName("large_thumbnail")[0].firstChild.data except: self.error.append("Problem parsing XML output.")
def _getForecast(self, location): dom = self._getDom(self._weatherForecastURL % utils.web.urlquote(location)) output = [] count = 0 max = self.registryValue('forecastDays', self.__channel) forecast = dom.getElementsByTagName('simpleforecast')[0] for day in forecast.getElementsByTagName('forecastday'): if count >= max and max != 0: break forecastOutput = [] forecastOutput.append('Forecast for ' + self._getNodeValue(day, 'weekday').capitalize() + ': ' + self._getNodeValue(day, 'conditions').capitalize()) forecastOutput.append('High of ' + self._formatForecastTemperatures(day, 'high')) forecastOutput.append('Low of ' + self._formatForecastTemperatures(day, 'low')) output.append('; '.join(forecastOutput)) count += 1 return output
if item.cid: items[item.sid] = item lastRealItem = item else: lastRealItem.alsoKnownAs.append(item.sid) child = node.next() print "-- Got a total of %d items!" % len(items) print "-- " print "" import json, xml.dom.minidom as dom data = {} dom = dom.parse("items.xml") for xItem in dom.getElementsByTagName("item"): xId = xItem.getAttribute("id") xFromId = xItem.getAttribute("fromid") xToId = xItem.getAttribute("toid") xName = xItem.getAttribute("name") xArticle = xItem.getAttribute("article") xPlural = xItem.getAttribute("plural") xAttributes = xItem.getElementsByTagName("attribute") prep = {"name": xName, "plural": xPlural, "article": xArticle} for attr in xAttributes: key = attr.getAttribute("key") if key == "defense": key = "defence"
def validVersion(self, dom): root = dom.getElementsByTagName(CommitHelperConstants.XMLTAGCONFIG)[0] version = root.getAttribute(CommitHelperConstants.XMLATTRIBUTEVERSION) rc = CommitHelperConstants.CONFIGFILEVERSION==version return rc
def getMessageBody(self): dom = self.getDom() messageElement = dom.getElementsByTagName(CommitHelperConstants.XMLTAGMESSAGEBODY)[0] bodyText = self.getText(messageElement.childNodes) return bodyText
def _formatForecastTemperatures(self, dom, type): tempC = self._getNodeValue(dom.getElementsByTagName(type)[0], 'celsius', u('N/A')) + u('\xb0C') tempF = self._getNodeValue(dom.getElementsByTagName(type)[0], 'fahrenheit', u('N/A')) + u('\xb0F') return self._formatForMetricOrImperial(tempF, tempC)
def fromXml(self, xml, series): season = xml.getElementsByTagName('currentseason')[0].childNodes[0].data.strip() episode = xml.getElementsByTagName('currentepisode')[0].childNodes[0].data.strip() return Progress(series,season,episode)
if match: return int(match.group(1)) return None def _get_url(dom, search): for el in dom.getElementsByTagName('dc:identifier'): str = _get_text_node(el) match = search.search(str) if match: return match.group(1) return None common.init('sqlite:///bert.sqlite') with transaction.manager: dom = _read_dom('NASLA_non_ATSI_copyright_expired.xml') for dc in dom.getElementsByTagName('oai_dc:dc'): # Check this is an image type (not sure there is any other type, but # it pays to be careful if _get_string(dc, 'dc:type') != 'image': continue picture = models.Picture() picture.title = _get_string(dc, 'dc:title') picture.description = _get_string(dc, 'dc:description') picture.subjects = _get_string(dc, 'dc:subject') picture.year = _get_year(dc) picture.small_url = _get_url(dc, small_image_search_) picture.large_url = _get_url(dc, large_image_search_) models.add_picture(picture)
return int(match.group(1)) return None def _get_url(dom, search): for el in dom.getElementsByTagName('dc:identifier'): str = _get_text_node(el) match = search.search(str) if match: return match.group(1) return None common.init('sqlite:///bert.sqlite') with transaction.manager: dom = _read_dom('NASLA_non_ATSI_copyright_expired.xml') for dc in dom.getElementsByTagName('oai_dc:dc'): # Check this is an image type (not sure there is any other type, but # it pays to be careful if _get_string(dc, 'dc:type') != 'image': continue picture = models.Picture() picture.title = _get_string(dc, 'dc:title') picture.description = _get_string(dc, 'dc:description') picture.subjects = _get_string(dc, 'dc:subject') picture.year = _get_year(dc) picture.small_url = _get_url(dc, small_image_search_) picture.large_url = _get_url(dc, large_image_search_) models.add_picture(picture)
if item.cid: items[item.sid] = item lastRealItem = item else: lastRealItem.alsoKnownAs.append(item.sid) child = node.next() print "-- Got a total of %d items!" % len(items) print "-- " print "" import json, xml.dom.minidom as dom data = {} dom = dom.parse("items.xml") for xItem in dom.getElementsByTagName("item"): xId = xItem.getAttribute("id") xFromId = xItem.getAttribute("fromid") xToId = xItem.getAttribute("toid") xName = xItem.getAttribute("name") xArticle = xItem.getAttribute("article") xPlural = xItem.getAttribute("plural") xAttributes = xItem.getElementsByTagName("attribute") prep = {"name":xName, "plural":xPlural, "article":xArticle} for attr in xAttributes: key = attr.getAttribute("key") if key == "defense": key = "defence"