예제 #1
0
파일: Episode.py 프로젝트: carnage/tvfs
    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
예제 #2
0
 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)
예제 #3
0
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
예제 #4
0
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
예제 #5
0
파일: Season.py 프로젝트: carnage/tvfs
    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        
예제 #6
0
    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
예제 #8
0
파일: Series.py 프로젝트: carnage/tvfs
 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   
예제 #9
0
 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
예제 #10
0
 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
예제 #11
0
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)
예제 #13
0
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
예제 #14
0
	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
예제 #15
0
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
예제 #16
0
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
예제 #18
0
    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)
예제 #20
0
파일: pyimgur.py 프로젝트: mutaku/PyImgur
	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.")
예제 #21
0
 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
예제 #22
0
    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
예제 #25
0
 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)
예제 #26
0
파일: Progress.py 프로젝트: carnage/tvfs
 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)
예제 #27
0
        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)
예제 #28
0
            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)
예제 #29
0
    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"