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


Python cElementTree.ElementTree类代码示例

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


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

示例1: edx

    def edx(self, out_dir):
        # Copy the Pdf to the static directory
        static_dir = os.path.join(out_dir, 'static')
        if not os.path.exists(static_dir):
            os.makedirs(static_dir)
        # In order to get an unique filename inside edx, we have to prefix the project and group name
        _, fileExtension = os.path.splitext(self.path)
        target_filename = self.url_name()+fileExtension
        target_path = os.path.join(static_dir,target_filename)
        shutil.copyfile(os.path.join(self.parent.path, self.path), target_path);

        html_dir = os.path.join(out_dir, 'html')
        if not os.path.exists(html_dir):
            os.makedirs(html_dir)
        html = Element('html', {'filename':self.url_name(), 'display_name':"File"});
        tree = ElementTree(html)
        tree.write(os.path.join(html_dir, "{0}.xml".format(self.url_name())) )


        (_ , filename) = os.path.split(self.path)
        html = '''
        <a href="/static/%(file)s">Download %(filename)s</a>
        ''' % {'file':target_filename, 'filename':filename}

        with codecs.open(os.path.join(html_dir, "{0}.html".format(self.url_name())), mode='w', encoding='utf-8') as f:
            f.write(html)
开发者ID:pdehaye,项目名称:edx-presenter,代码行数:26,代码来源:mat101-presenter.py

示例2: run

    def run(self):
        creds = []
        directory = constant.profile['USERPROFILE'] + u'\\Documents\\Rogue\'s Tale\\users'

        # The actual user details are stored in *.userdata files
        if os.path.exists(directory):
            files = os.listdir(directory)

            for f in files:
                if re.match('.*\.userdata', f):
                    # We've found a user file, now extract the hash and username

                    xmlfile = directory + '\\' + f
                    tree = ElementTree(file=xmlfile)
                    root = tree.getroot()

                    # Double check to make sure that the file is valid
                    if root.tag != 'user':
                        self.warning(u'Profile %s does not appear to be valid' % f)
                        continue

                    # Now save it to credentials
                    creds.append({
                        'Login': root.attrib['username'],
                        'Hash': root.attrib['password']
                    })

            return creds
开发者ID:cclauss,项目名称:LaZagne,代码行数:28,代码来源:roguestale.py

示例3: get_package_name

def get_package_name(path):
    """
    Get the name of the ROS package that contains *path*. This is
    determined by finding the nearest parent ``manifest.xml`` file.
    This routine may not traverse package setups that rely on internal
    symlinks within the package itself.
    
    :param path: filesystem path
    :return: Package name or ``None`` if package cannot be found, ``str``
    """
    #NOTE: the realpath is going to create issues with symlinks, most
    #likely.
    parent = os.path.dirname(os.path.realpath(path))
    #walk up until we hit ros root or ros/pkg
    while not os.path.exists(os.path.join(path, MANIFEST_FILE)) and not os.path.exists(os.path.join(path, PACKAGE_FILE)) and parent != path:
        path = parent
        parent = os.path.dirname(path)
    # check termination condition
    if os.path.exists(os.path.join(path, MANIFEST_FILE)):
        return os.path.basename(os.path.abspath(path))
    elif os.path.exists(os.path.join(path, PACKAGE_FILE)):
        root = ElementTree(None, os.path.join(path, PACKAGE_FILE))
        return root.findtext('name')
    else:
        return None
开发者ID:aballier,项目名称:rospkg,代码行数:25,代码来源:rospack.py

示例4: load

 def load(cls, filename):
     project_root = ElementTree().parse(filename)
     settings_node = project_root.find(cls.__PROJECT_SETTINGS_NODE_NAME)
     tracks_node = project_root.find(cls.__PROJECT_TRACKS_NODE_NAME)
     track_nodes = tracks_node.findall(cls.__PROJECT_TRACK_NODE_NAME)
     for node in track_nodes:
         print node
开发者ID:mitranog,项目名称:kivy_testing,代码行数:7,代码来源:syncproject.py

示例5: scrape_pkg_uri

    def scrape_pkg_uri(self, uri, pkg):
        """
        Scrape package metadata from PyPi when it's running
        as the Clue Release Manager.

        Parameters
        ----------
        uri : `str`
            URI to page containing package's homepage
        pkg : `str`
            Package name
        """
        # Example entry:
        #<div class="distro-block distro-metadata">
        #  <h4>Metadata</h4>
        #  <dl>
        #    <dt>Distro Index Owner:</dt>
        #    <dd>acmepypi</dd>
        #    <dt>Home Page:</dt>
        #    <dd><a href="http://mysvn/acme.helloworld">
        #           http://mysvn/acme.helloworld</a></dd>
        #  </dl>
        #</div>
        tree = ElementTree()
        try:
            tree.parse(urllib2.urlopen(uri))
        except urllib2.HTTPError, e:
            raise UserError("Can't find repository URL for package %s (%s). "
                            "Has it been registered in PyPi?" % (pkg, e))
开发者ID:agiledata,项目名称:pkglib,代码行数:29,代码来源:clue.py

示例6: merge

    def merge(self):
        last_hr = 0
        self.tacx_tcx = self._parse_file(self.tacx_tcx_file)
        self.hr_tcx = self._parse_file(self.hr_tcx_file)

        for tp in self.tacx_tcx.dom_trackpoints:
            timestamp = tp.find('role:Time', ns).text
            timestamp_key = timestamp[0:19]
            if timestamp_key in self.hr_tcx.TrackPoints.keys():
                heartrate_from_other_file = self.hr_tcx.TrackPoints[timestamp_key].HeartRateBpm
                if heartrate_from_other_file is not None:
                    hr_node = self._create_heartrate(heartrate_from_other_file)
                    tp.append(hr_node)
                    last_hr = heartrate_from_other_file
            else:
                hr_node = self._create_heartrate(last_hr)
                tp.append(hr_node)

        tree = ElementTree(self.tacx_tcx.root)

        tree.write(open(self.file_name, 'wb'), encoding="utf-8", xml_declaration=True)

        # Add UGLY! temporary fix for namespace "ns1-issue"
        f = open (self.file_name, "r")
        data = f.read()
        data = data.replace('ns1:TPX', 'TPX')
        data = data.replace('ns1:Speed', 'Speed')
        data = data.replace('ns1:Watts', 'Watts')
        f.close

        f = open(self.file_name, "w")
        f.write(data)
        f.close()
        return self.file_name
开发者ID:trieb,项目名称:merge_tcx,代码行数:34,代码来源:MergeTcx.py

示例7: fulltext_search

    def fulltext_search(self, query, rows=None, start=None):
        """Does an advanced search on fulltext:blah.
        You get back a pair (x,y) where x is the total # of hits
        and y is a list of identifiers like ["foo", "bar", etc.]"""

        query = self._prefix_query('fulltext', query)
        result_list = self.raw_search(query, rows=rows, start=start)
        e = ElementTree()
        try:
            e.parse(StringIO(result_list))
        except SyntaxError as e:
            raise SolrError(e)

        total_nbr_text = e.find('info/range_info/total_nbr').text
        # total_nbr_text = e.find('result').get('numFound')  # for raw xml
        total_nbr = int(total_nbr_text) if total_nbr_text else 0

        out = []
        for r in e.getiterator('hit'):
            for d in r.find('metadata'):
                for x in list(d.getiterator()):
                    if x.tag == "identifier":
                        xid = six.text_type(x.text).encode('utf-8')
                        if xid.startswith('OCA/'):
                            xid = xid[4:]
                        elif xid.endswith('.txt'):
                            xid = xid.split('/')[-1].split('_')[0]
                        elif xid.endswith('_ZZ'):
                            xid = xid[:-3]
                        out.append(xid)
                        break
        return (total_nbr, out)
开发者ID:internetarchive,项目名称:openlibrary,代码行数:32,代码来源:solr_client.py

示例8: loadLanguageFile

def loadLanguageFile(langfile):
    """ Loads one or more languages from disk
    Returns list of language codes found."""
    
    global languagenames, languages
    
    tree = ElementTree(file=langfile)
    
    foundlangs = []
    
    langslist = tree.find("wurmlanguages")
    langs     = langslist.findall("languagedef")
    
    for language in langs:
        code = language.attrib["code"]
        name = language.attrib.get("name", code)
        
        languagenames[code] = name
        languages.setdefault(code, {}) # make sure the base map is ready
        
        if code not in foundlangs:
            foundlangs.append(code)
        
        lstrings = language.findall("string")
        for lstr in lstrings:
            orig = _parse(lstr.find("original").text.strip())
            tran = _parse(lstr.find("translation").text.strip())
            languages[code][orig] = tran
    
    return foundlangs
开发者ID:hamaw,项目名称:WUU,代码行数:30,代码来源:WurmLanguage.py

示例9: write

	def write(self, filename, midi):
		

		midifile = Element('MidiFile')
		header = HeaderChunk()
		
		header.write(midifile, midi.header)

		i = 0
		for cur in midi.tracks:
			node = SubElement(midifile, '_' + str(i)) #garantit l'ordre des datas
			temp = TrackChunk()
			temp.write(node, cur)
			i += 1

		tree = ElementTree(midifile)
		tree.write(filename, encoding="utf-8")

		

		import xml.dom.minidom 

		root = xml.dom.minidom.parse(filename)

		f = open(filename, "w")
		f.write(root.toprettyxml())
开发者ID:Eyyub,项目名称:midi,代码行数:26,代码来源:ixml.py

示例10: serialize

def serialize(data, name='object'):
    content_elem = Element(name)
    _serialize(content_elem, data)
    tree = ElementTree(content_elem)
    f = StringIO()
    tree.write(f, 'UTF-8')
    return f.getvalue()
开发者ID:BenoitTalbot,项目名称:bungeni-portal,代码行数:7,代码来源:serialize.py

示例11: updatebq

    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,代码行数:25,代码来源:plugin.py

示例12: parse_operator_xml

def parse_operator_xml(f):

    et = ElementTree(file=f)
    r = et.getroot()

    def _get_value_from_first_element(r_, e_name):
        return r_.findall(e_name)[0].text

    operator_id = r.attrib["id"]
    task_id = _get_value_from_first_element(r, "task-id")

    s = r.findall("scatter")[0]
    scatter_task_id = _get_value_from_first_element(s, "scatter-task-id")

    sgs = s.findall("chunks")[0]
    schunks = [ScatterChunk(x.attrib["out"], x.attrib["in"]) for x in sgs.findall("chunk")]
    scatter = Scatter(task_id, scatter_task_id, schunks)

    gs = r.findall("gather")[0].findall("chunks")[0].findall("chunk")

    def _to_c(x):
        return (
            _get_value_from_first_element(x, "gather-task-id"),
            _get_value_from_first_element(x, "chunk-key"),
            _get_value_from_first_element(x, "task-output"),
        )

    gchunks = [GatherChunk(*_to_c(x)) for x in gs]

    gather = Gather(gchunks)
    return ChunkOperator(operator_id, scatter, gather)
开发者ID:skinner,项目名称:pbsmrtpipe,代码行数:31,代码来源:pb_io.py

示例13: test_3x32mb_download_from_xml

    def test_3x32mb_download_from_xml(self):
        '''Download three randomly-generated 32MB files from a GT server
           via an XML manifest'''
        uuid1 = self.data_upload_test(1024 * 1024 * 32)
        uuid2 = self.data_upload_test(1024 * 1024 * 32)
        uuid3 = self.data_upload_test(1024 * 1024 * 32)

        uuids = [uuid1, uuid2, uuid3]

        # build a XML result set
        result_set = Element('ResultSet')
        result_1 = SubElement(result_set, 'Result')
        analysis_data_uri_1 = SubElement(result_1, 'analysis_data_uri')
        analysis_data_uri_1.text = '%s/cghub/data/analysis/download/' \
            % TestConfig.HUB_SERVER + str(uuid1)
        result_2 = SubElement(result_set, 'Result')
        analysis_data_uri_2 = SubElement(result_2, 'analysis_data_uri')
        analysis_data_uri_2.text = '%s/cghub/data/analysis/download/' \
            % TestConfig.HUB_SERVER + str(uuid2)
        result_3 = SubElement(result_set, 'Result')
        analysis_data_uri_3 = SubElement(result_3, 'analysis_data_uri')
        analysis_data_uri_3.text = '%s/cghub/data/analysis/download/' \
            % TestConfig.HUB_SERVER + str(uuid3)

        doc = ElementTree(result_set)

        f = NamedTemporaryFile(delete=False, suffix='.xml')
        doc.write(f)
        f.close()

        self.data_download_test_xml(f.name, uuids)

        os.remove(f.name)
开发者ID:hammer,项目名称:genetorrent,代码行数:33,代码来源:gt_download_tests.py

示例14: exportGEXF

    def exportGEXF(self, fileName):
        rootNode = Element("gexf")
        rootNode.attrib['xmlns'] = "http://www.gexf.net/1.2draft"
        rootNode.attrib['version'] = "1.2"

        graphNode = Element("graph")
        graphNode.attrib['mode'] = "static"
        graphNode.attrib['defaultedgetype'] = "directed"
        rootNode.append(graphNode)

        graphNode.append(Node.getGexfAttributeNode())
        graphNode.append(Vertex.getGexfAttributeNode())

        NodesList = Element("nodes")
        for n in self.nodes:
            NodesList.append(n.exportToGexfNode())
        graphNode.append(NodesList)

        EdgesList = Element("edges")
        for e in self.vertices:
            EdgesList.append(e.exportToGexfNode())
        graphNode.append(EdgesList)

        doc = ElementTree(rootNode)
        doc.write(fileName, "utf8", '<?xml version="1.0" encoding="UTF-8"?>')
开发者ID:Noxy,项目名称:callGraphAnalysis,代码行数:25,代码来源:first_try_program.py

示例15: parse_categories

def parse_categories(fn):
    categories = {}
    et = ElementTree()
    tree = et.parse(fn)
    for elem in tree.findall('Category'):
        parse_category(elem, None, categories)
    return categories
开发者ID:SYNET,项目名称:epg-server,代码行数:7,代码来源:converter.py


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