当前位置: 首页>>代码示例>>Python>>正文


Python ElementTree.findall方法代码示例

本文整理汇总了Python中xml.etree.cElementTree.ElementTree.findall方法的典型用法代码示例。如果您正苦于以下问题:Python ElementTree.findall方法的具体用法?Python ElementTree.findall怎么用?Python ElementTree.findall使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xml.etree.cElementTree.ElementTree的用法示例。


在下文中一共展示了ElementTree.findall方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: extractImages

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
def extractImages(html):
    if html is None:
        return [], html
    
    tree = ElementTree()
    tree.parse(StringIO(html))
    imagetags = tree.findall(".//img")
    
    images = []
    for tag in imagetags:
        image = tag.get('src')
        path, name = os.path.split(image)
        if image not in images:
            images.append(image)
        tag.set('alt', name)
        tag.set('title', name)

    #index files for multipart storage
    index = {}
    for image in images:
        path, name = os.path.split(image)        
        index[image] = '0x%08x' % binascii.crc32(name)

    #update html email image tags 
    for tag in imagetags:
        image = tag.get('src')
        tag.set('src', "cid:%s" % index[image])
            
    html =  StringIO()
    tree.write(html)
    html.write("\n")
    return [index, html.getvalue()]
开发者ID:robertbetts,项目名称:Kew,代码行数:34,代码来源:emailutil.py

示例2: updatebq

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def updatebq(self):
        from xml.etree.cElementTree import ElementTree
        tree = ElementTree()
        tree.parse(GSXML)
        tvlist = []
        for iptv in tree.findall("iptv"):
            name = iptv.findtext("name").title()
            (protocol, serviceType, bufferSize, epgId) = iptv.findtext("type").split(":")
            uri = iptv.findtext("uri")
            if protocol in "livestreamer":
                uri = "http://localhost:88/" + uri
            uri = uri.replace(":", "%3a")
            service = "#SERVICE {s}:0:1:{e}:{e}:0:0:0:0:0:{u}:{n}\n".format(s=serviceType,e=epgId,u=uri,n=name)
            tvlist.append((name,service))

        tvlist=sorted(tvlist, key=lambda channel: channel[0]) #sort by name
        with open(GSBQ, "w") as f:
            f.write("#NAME GreekStreamTV\n")
            for (name, service) in tvlist:
                f.write(service)

	com = "cat /usr/lib/enigma2/python/Plugins/Satdreamgr/UpdateBouquet/stream.xml ; rm /usr/lib/enigma2/python/Plugins/Satdreamgr/UpdateBouquet/stream.xml"
	out = os.popen(com)

        return list
开发者ID:satdreamgr,项目名称:Panel,代码行数:27,代码来源:plugin.py

示例3: _split_configuration

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
 def _split_configuration(self, projectfile, temp_dir):
     num_pieces = multiprocessing.cpu_count()
     tree = ET(file=unicode(projectfile))
     num_files = len(tree.findall('./files/file'))
     splitfiles = []
     files_per_job = int(math.ceil(float(num_files)/num_pieces))
     for idx in xrange(num_pieces):
         tree = ET(file=unicode(projectfile))
         root = tree.getroot()
         start = idx*files_per_job
         end = start + files_per_job
         if end > num_files:
             end = None
         for elem in ('files', 'images', 'pages',
                      'file-name-disambiguation'):
             elem_root = root.find(elem)
             to_keep = elem_root.getchildren()[start:end]
             to_remove = [x for x in elem_root.getchildren()
                          if not x in to_keep]
             for node in to_remove:
                 elem_root.remove(node)
         out_file = temp_dir / "{0}-{1}.ScanTailor".format(projectfile.stem,
                                                           idx)
         tree.write(unicode(out_file))
         splitfiles.append(out_file)
     return splitfiles
开发者ID:atomotic,项目名称:spreads,代码行数:28,代码来源:scantailor.py

示例4: terminology_identifiers

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
 def terminology_identifiers(self):
     tag_name = "{http://openehr.org/Terminology.xsd}TerminologyIdentifiers" 
     term_ids = []
     with open(OPENEHR_TERMINOLOGY_FILEPATH) as terminology_file:
         root = ET().parse(terminology_file)
         term_ids = [term_id.attrib['VSAB'] for term_id in root.findall(tag_name)]
     return term_ids
开发者ID:grodniewicz,项目名称:oship,代码行数:9,代码来源:__init__.py

示例5: all_playlists

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
def all_playlists(filename):
    '''
    Return a dict of all playlists in the Rhythmbox XML file, whose
    keys are the playlist names and whose values are lists of files.
    '''
    tree = ElementTree(file=filename)
    return { pl.get('name') : _playlist_files(pl)
             for pl in tree.findall("playlist") }
开发者ID:sethoscope,项目名称:mapperfs,代码行数:10,代码来源:rhythmboxfs.py

示例6: one_playlist

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
def one_playlist(filename, playlistname):
    '''Return the files in the playlist in the Rhythmbox XML file.'''
    tree = ElementTree(file=filename)
    for pl in tree.findall("playlist"):
        # My old version of etree doesn't support attributes in the
        # path spec, so we check them manually.
        if pl.get('name') == playlistname:
            return _playlist_files(pl)
    raise ValueError('Playlist not found: ' + playlistname)
开发者ID:sethoscope,项目名称:mapperfs,代码行数:11,代码来源:rhythmboxfs.py

示例7: dowaitcount

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def dowaitcount(self, original_request, collection, count, label=""):

        hrefs = []
        for _ignore in range(self.manager.server_info.waitcount):
            req = request(self.manager)
            req.method = "PROPFIND"
            req.host = original_request.host
            req.port = original_request.port
            req.ruris.append(collection[0])
            req.ruri = collection[0]
            req.headers["Depth"] = "1"
            if len(collection[1]):
                req.user = collection[1]
            if len(collection[2]):
                req.pswd = collection[2]
            req.data = data(self.manager)
            req.data.value = """<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:getetag/>
</D:prop>
</D:propfind>
"""
            req.data.content_type = "text/xml"
            result, _ignore_resulttxt, response, respdata = self.dorequest(req, False, False, label="%s | %s %d" % (label, "WAITCOUNT", count))
            hrefs = []
            if result and (response is not None) and (response.status == 207) and (respdata is not None):
                tree = ElementTree(file=StringIO(respdata))

                for response in tree.findall("{DAV:}response"):
                    href = response.findall("{DAV:}href")[0]
                    if href.text.rstrip("/") != collection[0].rstrip("/"):
                        hrefs.append(href.text)

                if len(hrefs) == count:
                    return True, None
            delay = self.manager.server_info.waitdelay
            starttime = time.time()
            while (time.time() < starttime + delay):
                pass

        if self.manager.debug and hrefs:
            # Get the content of each resource
            rdata = ""
            for href in hrefs:
                result, respdata = self.doget(req, (href, collection[1], collection[2],), label)
                test = "unknown"
                if respdata.startswith("BEGIN:VCALENDAR"):
                    uid = respdata.find("UID:")
                    if uid != -1:
                        uid = respdata[uid + 4:uid + respdata[uid:].find("\r\n")]
                        test = self.uidmaps.get(uid, "unknown")
                rdata += "\n\nhref: {h}\ntest: {t}\n\n{r}\n".format(h=href, t=test, r=respdata)

            return False, rdata
        else:
            return False, len(hrefs)
开发者ID:cyrusimap,项目名称:CalDAVTester,代码行数:59,代码来源:caldavtest.py

示例8: __init__

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
 def __init__(self):
     self._path = os.path.dirname(os.path.abspath(__file__))
     print "Loading Rhythmbox database...",
     tree = ElementTree()
     tree.parse(database)
     self._entries = tree.findall("entry")
     self.songs = {}
     self.artists = {}
     self.albums = {}
     self.relationships = {}
     self.load_rhythmbox_db()
开发者ID:levicole,项目名称:Blofeld,代码行数:13,代码来源:Blofeld.py

示例9: parseStreamList

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def parseStreamList(self):
        tvlist = []
        tree = ElementTree()
        tree.parse(self.xml)
        for iptv in tree.findall('iptv'):
            tvlist.append({'name': str(iptv.findtext('name')).title(),
             'icon': str(iptv.findtext('icon')),
             'type': str(iptv.findtext('type')),
             'uri': self.parseStreamURI(str(iptv.findtext('uri')))})

        return sorted(tvlist, key=lambda item: item['name'])
开发者ID:kingvuplus,项目名称:test,代码行数:13,代码来源:stream.py

示例10: parseStreamList

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
	def parseStreamList(self):
		tvlist = []
		tree = ElementTree()
		tree.parse(self.xml)

		for iptv in tree.findall('iptv'):
			n = str(iptv.findtext('name'))
			i = str(iptv.findtext('icon'))
			u = str(iptv.findtext('uri'))
			t = str(iptv.findtext('type'))
			tvlist.append({'name':n, 'icon':i, 'type':t, 'uri':self.parseStreamURI(u)})
		return tvlist
开发者ID:javilonas,项目名称:OpenIPTV,代码行数:14,代码来源:plugin.py

示例11: parseStreamDB

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
def parseStreamDB(filename):
	tvlist = []
	tree = ElementTree()
	tree.parse(filename)

	for iptv in tree.findall('iptv'):
		n = str(iptv.findtext('name'))
		i = str(iptv.findtext('icon'))
		u = str(iptv.findtext('uri'))
		t = str(iptv.findtext('type'))
		tvlist.append({'name':n, 'icon':i, 'type':t, 'uri':u})
	return tvlist
开发者ID:popazerty,项目名称:bh1,代码行数:14,代码来源:plugin.py

示例12: parseStreamList

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def parseStreamList(self):
        tvlist = []
        tree = ElementTree()
        tree.parse(self.xml)

        for iptv in tree.findall("iptv"):
            n = str(iptv.findtext("name"))
            i = str(iptv.findtext("icon"))
            u = str(iptv.findtext("uri"))
            t = str(iptv.findtext("type"))
            tvlist.append({"name": n, "icon": i, "type": t, "uri": self.parseStreamURI(u)})
        return tvlist
开发者ID:OpenLD,项目名称:oe-alliance-plugins,代码行数:14,代码来源:plugin.py

示例13: run

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def run(self):
        path = os.path.join(constant.profile['APPDATA'], u'FileZilla')
        if os.path.exists(path):
            pwd_found = []
            for file in [u'sitemanager.xml', u'recentservers.xml', u'filezilla.xml']:

                xml_file = os.path.join(path, file)
                if os.path.exists(xml_file):
                    tree = ElementTree(file=xml_file)
                    if tree.findall('Servers/Server'):
                        servers = tree.findall('Servers/Server')
                    else:
                        servers = tree.findall('RecentServers/Server')

                    for server in servers:
                        host = server.find('Host')
                        port = server.find('Port')
                        login = server.find('User')
                        password = server.find('Pass')
                        
                        # if all((host, port, login)) does not work
                        if host is not None and port is not None and login is not None:
                            values = {
                                'Host': host.text,
                                'Port': port.text,
                                'Login': login.text,
                            }

                        if password:
                            if 'encoding' in password.attrib and password.attrib['encoding'] == 'base64':
                                values['Password'] = base64.b64decode(password.text)
                            else:
                                values['Password'] = password.text

                        if values: 
                            pwd_found.append(values)

            return pwd_found
开发者ID:cclauss,项目名称:LaZagne,代码行数:40,代码来源:filezilla.py

示例14: run

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def run(self):

        pwd_found = []
        for xml_file in homes.get(file=[
            os.path.join(d, f)
            for d in ('.filezilla', '.config/filezilla')
            for f in ('sitemanager.xml', 'recentservers.xml', 'filezilla.xml')
        ]):

            if os.path.exists(xml_file):
                tree = ElementTree(file=xml_file)
                servers = tree.findall('Servers/Server') if tree.findall('Servers/Server') else tree.findall(
                    'RecentServers/Server')

                for server in servers:
                    host = server.find('Host')
                    port = server.find('Port')
                    login = server.find('User')
                    password = server.find('Pass')

                    if host is not None and port is not None and login is not None:
                        values = {
                            'Host': host.text,
                            'Port': port.text,
                            'Login': login.text,
                        }

                    if password is not None:
                        if 'encoding' in password.attrib and password.attrib['encoding'] == 'base64':
                            values['Password'] = base64.b64decode(password.text)
                        else:
                            values['Password'] = password.text

                    pwd_found.append(values)

        return pwd_found
开发者ID:cclauss,项目名称:LaZagne,代码行数:38,代码来源:filezilla.py

示例15: dofindcontains

# 需要导入模块: from xml.etree.cElementTree import ElementTree [as 别名]
# 或者: from xml.etree.cElementTree.ElementTree import findall [as 别名]
    def dofindcontains(self, original_request, collection, match, label=""):
        hresult = ""

        uri = collection[0]
        req = request(self.manager)
        req.method = "PROPFIND"
        req.host = original_request.host
        req.port = original_request.port
        req.ruris.append(uri)
        req.ruri = uri
        req.headers["Depth"] = "1"
        if len(collection[1]):
            req.user = collection[1]
        if len(collection[2]):
            req.pswd = collection[2]
        req.data = data(self.manager)
        req.data.value = """<?xml version="1.0" encoding="utf-8" ?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:getetag/>
</D:prop>
</D:propfind>
"""
        req.data.content_type = "text/xml"
        result, _ignore_resulttxt, response, respdata = self.dorequest(req, False, False, label="%s | %s" % (label, "FINDNEW"))
        if result and (response is not None) and (response.status == 207) and (respdata is not None):
            try:
                tree = ElementTree(file=StringIO(respdata))
            except Exception:
                return hresult

            request_uri = req.getURI(self.manager.server_info)
            for response in tree.findall("{DAV:}response"):

                # Get href for this response
                href = response.findall("{DAV:}href")
                if len(href) != 1:
                    return False, "           Wrong number of DAV:href elements\n"
                href = href[0].text
                if href != request_uri:

                    _ignore_result, respdata = self.doget(req, (href, collection[1], collection[2],), label)
                    if respdata.find(match) != -1:
                        break
            else:
                href = None

        return href
开发者ID:cyrusimap,项目名称:CalDAVTester,代码行数:50,代码来源:caldavtest.py


注:本文中的xml.etree.cElementTree.ElementTree.findall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。