• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python sax.make_parser函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: tree_from_stream

def tree_from_stream(stream, 
                     norm_sp=1, ext_ges=0, ext_pes=0, include_comment=1,
                     encoding='UTF-8', html=0):
    """
    create internal tree from xml stream (open file or IOString)
    if norm_sp = 1, normalize space and new line
    """
    from xml.sax import make_parser, SAXNotRecognizedException
    from xml.sax.handler import feature_namespaces, feature_external_ges, \
         feature_external_pes, property_lexical_handler
    from parser import SaxHandler
    handler = SaxHandler(norm_sp, include_comment, encoding)
    if html:
        parser = make_parser(["xml.sax.drivers2.drv_sgmlop_html"])
    else:
        parser = make_parser()
        # do not perform Namespace processing 
        parser.setFeature(feature_namespaces, 0)
    # do not include any external entities
    try:
        parser.setFeature(feature_external_ges, ext_ges)
        #xml.sax._exceptions.
    except SAXNotRecognizedException:
        print 'Unable to set feature external ges'
    try:
        parser.setFeature(feature_external_pes, ext_pes)
        #xml.sax._exceptions.
    except SAXNotRecognizedException:
        print 'Unable to set feature external pes'
    # add lexical handler for comments,  entities, dtd and cdata
    parser.setProperty(property_lexical_handler, handler)
    parser.setContentHandler(handler)
    parser.parse(stream)
    return handler.get_tree()
开发者ID:nbtscommunity,项目名称:phpfnlib,代码行数:34,代码来源:input.py


示例2: StartWork

    def StartWork(self):
        StatusManager.StatusManager.pushServer=self
        req_GetClientId = ConnectStrings.GetString_ServerHeader()+'?'+ConnectStrings.GetString_GetClientId()
        print req_GetClientId

        getClientIdHandler=GetClientIdHandler.GetClientIdHandler()
        parser=make_parser()
        parser.setContentHandler(getClientIdHandler)
        parser.parse(req_GetClientId)
        print StatusManager.StatusManager.clientId

        req_AddStream=ConnectStrings.GetString_ServerHeader()+'?'+ConnectStrings.GetString_AddToStream()
        print req_AddStream
        addToStreamHandler=AddToStreamHandler.AddToStreamHandler()
        parser2=make_parser()
        parser2.setContentHandler(addToStreamHandler)

        url=req_AddStream
        StatusManager.StatusManager.stream=urllib2.urlopen(url)
        tagList=[]
        str=''
        while 1:
            char=StatusManager.StatusManager.stream.read(1)
            if char=='<':
                nextChar=StatusManager.StatusManager.stream.read(1)
                while nextChar!='>':
                    str+=nextChar
                    nextChar=StatusManager.StatusManager.stream.read(1)
                XmlProcess.ProcessNode(str)
                str=''
开发者ID:zbo,项目名称:zbodo,代码行数:30,代码来源:PushServer.py


示例3: upload_annotations_file

def upload_annotations_file(request, project_id=None):
    if not request.user.is_superuser:
        return HttpResponseForbidden("Error: You must be an administrator to use this form")
    if not request.FILES.has_key('fileToUpload') or not request.FILES['fileToUpload']:
        return projectEdit(request,project_id=project_id,error="Please select a file to upload (supported formats are .zip and .xml).")
    f = request.FILES['fileToUpload']
    if (not f.name.endswith('.xml')) and (not f.name.endswith('.zip')):
        return projectEdit(request,project_id=project_id,error="Please select a file to upload (supported formats are .zip and .xml).")
    if fnmatch.fnmatch(f.name, '*.xml'):
        parser = make_parser()
        curHandler = XmlImportHandler(project_id)
        parser.setContentHandler(curHandler)
        data = ""
        for chunk in f.chunks():
            data += chunk
        parser.feed(data)
    if fnmatch.fnmatch(f.name, '*.zip'):
        zipdata = ""
        for chunk in f.chunks():
            zipdata += chunk
        zip = zipfile.ZipFile(StringIO.StringIO(zipdata))
        for file in zip.namelist():
            parser = make_parser()
            curHandler = XmlImportHandler(project_id)
            parser.setContentHandler(curHandler)
            #pdb.set_trace()
            if file.find("__MACOSX/") == -1:
                parser.feed(zip.read(file))
        zip.close()
    return projectEdit(request, project_id=project_id)
开发者ID:sneilan,项目名称:EverythingIveDoneOverTheYears,代码行数:30,代码来源:abner.py


示例4: get_objects_recursive

    def get_objects_recursive(self, objtype, ids=[], recursive=False):
        """
        Recursively get all osm objects that are listed in the ids.
        If recursive=False, then you get only the objects that are directly
        referenced in relations.
        If recursive=True, then you get all hierarchically referenced
        from the relations.
        """
        relationids = set([])
        wayids = set([])
        nodeids = set([])
        relationdata, waydata, nodedata = '','',''

        if objtype == 'node':
            nodeids = set(ids)
        elif objtype == 'way':
            wayids = set(ids)
        elif objtype == 'relation':
            relationids = set(ids)
        else:
            return ""

        if recursive:
            recursions = 100  # maximum recursion level
        else:
            recursions = 1    # only get all direct members

        loaded_relationids = set([])
        while relationids:
            r_data = self.get_objects('relation', relationids)
            relationdata += '\n' + r_data

            if not recursions:
                break
            else:
                recursions -= 1

            parser = make_parser()
            osm_handler = SubobjectHandler()
            parser.setContentHandler(osm_handler)
            parseString(OSMHEAD + r_data + OSMTAIL, osm_handler)
            nodeids |= osm_handler.nodes
            wayids |= osm_handler.ways
            loaded_relationids |= relationids
            relationids = osm_handler.relations - loaded_relationids

        if wayids:
            waydata = self.get_objects('way', wayids)
            parser = make_parser()
            osm_handler = SubobjectHandler()
            parser.setContentHandler(osm_handler)
            parseString(OSMHEAD + waydata + OSMTAIL, osm_handler)
            nodeids |= osm_handler.nodes

        if nodeids:
            nodedata = self.get_objects('node', nodeids)

        return nodedata + waydata + relationdata
开发者ID:dgreyling,项目名称:python-osm,代码行数:58,代码来源:osmdb.py


示例5: __init__

    def __init__(self):
        """
            Create a new Definition Object
        """
        self.map = {}
        self.patches = {}

        handler = DefinitionHandler()
        sax.make_parser()

        for path in [AAPATH, NAPATH]:
            defpath = getDatFile(path)
            if defpath == "":
                raise PDBInternalError("%s not found!" % path)

            acidFile = open(defpath)
            sax.parseString(acidFile.read(), handler)
            acidFile.close()

            self.map.update(handler.map)

        # Now handle patches

        defpath = getDatFile(PATCHPATH)
        if defpath == "":
            raise PDBInternalError("%s not found!" % PATCHPATH)

        handler.map = {}
        patchFile = open(defpath)
        sax.parseString(patchFile.read(), handler)
        patchFile.close()

        # Apply specific patches to the reference object, allowing users
        #  to specify protonation states in the PDB file

        for patch in handler.patches:
            if patch.newname != "":

                # Find all residues matching applyto

                resnames = self.map.keys()
                for name in resnames:
                    regexp = re.compile(patch.applyto).match(name)
                    if not regexp:
                        continue
                    newname = patch.newname.replace("*", name)
                    self.addPatch(patch, name, newname)

            # Either way, make sure the main patch name is available

            self.addPatch(patch, patch.applyto, patch.name)
开发者ID:bottlecherry,项目名称:apbs-pdb2pqr,代码行数:51,代码来源:definitions.py


示例6: readDotGraphStyles

	def readDotGraphStyles(self):
		p   = make_parser()
		h   = rocks.profile.RollHandler()
		map = {}
		
		for file in os.listdir('.'):
			tokens = os.path.splitext(file)
			if len(tokens) != 2:
				continue
			name = tokens[0]
			ext  = tokens[1]
			tokens = string.split(name, '-')
			if len(tokens) < 2:
				continue
			prefix = tokens[0]
			if prefix == 'roll' and \
			   ext == '.xml' and \
			   os.path.isfile(file):
				fin = open(file, 'r')
				p.setContentHandler(h)
				p.parse(fin)
				fin.close()
				r = h.getRollName()
				map[r] = rocks.util.Struct()
				map[r].edgeColor = h.getEdgeColor()
				map[r].nodeColor = h.getNodeColor()
				map[r].nodeShape = h.getNodeShape()

		return map
开发者ID:jeramirez,项目名称:base,代码行数:29,代码来源:__init__.py


示例7: load_costs

 def load_costs(self, dumpfile, iteration, weight):
     # load costs from dumpfile and update memory according to weight and iteration
     if weight <= 0:
         sys.stderr.write("Skipped loading of costs because the weight was %s but should have been > 0\n" % weight)
         return
     assert(weight > 0)
     if self.iteration == None and iteration != 0:
         print "Warning: continuing with empty memory"
     # update memory weights. memory is a weighted average across all runs
     self.memory_factor = self.memory_weight / (self.memory_weight + weight)
     self.memory_weight += weight
     self.iteration = iteration
     self.errors = []
     # mark all edges as unseen
     for edges in self.intervals.itervalues():
         for edgeMemory in edges.itervalues():
             edgeMemory.seen = False
     # parse costs
     self.num_loaded = 0
     parser = make_parser()
     parser.setContentHandler(self)
     parser.parse(dumpfile)
     # decay costs of unseen edges
     self.num_decayed = 0
     for edges in self.intervals.itervalues():
         for edgeMemory in edges.itervalues():
             if edgeMemory.decay_unseen(self.memory_factor):
                 self.num_decayed += 1
开发者ID:nnaren1902,项目名称:Secure-Vehicle-Platoon,代码行数:28,代码来源:costMemory.py


示例8: import_data

 def import_data(self, metadata, output):
     "Imports places data from OpenStreetMap"
     
     old_etag = metadata.get('etag', '')
     
     request = AnyMethodRequest(self._url, method='HEAD')
     response = urllib2.urlopen(request)
     new_etag = response.headers['ETag'][1:-1]
     self.output = output
     
     if False and new_etag == old_etag:
         output.write('OSM data not updated. Not updating.\n')
         return
     
     p = subprocess.Popen([self.SHELL_CMD % self._url], shell=True,
         stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)
     
     parser = make_parser()
     parser.setContentHandler(OSMHandler(self._get_source(),
                                         self._get_entity_types(),
                                         lambda tags, type_list=None: self._find_types(tags, self._osm_tags if type_list is None else type_list),
                                         output,
                                         self._lat_north,
                                         self._lat_south,
                                         self._lon_west,
                                         self._lon_east))
     parser.parse(p.stdout)
     
     for lang_code, lang_name in settings.LANGUAGES:
         with override(lang_code):
             self.disambiguate_titles(self._get_source())
     
     return {
         'etag': new_etag,
     }
开发者ID:SamFoster,项目名称:mollyproject,代码行数:35,代码来源:osm.py


示例9: readficheroconfig

def readficheroconfig():
    parser = make_parser()
    ParserDTD = uaserver.ParserDTD()
    parser.setContentHandler(ParserDTD)
    parser.parse(open(FICHEROCONFIG))
    TAGS = ParserDTD.get_tags()
    return TAGS
开发者ID:crodriguezgarci,项目名称:ptavi-pfinal,代码行数:7,代码来源:uaclient.py


示例10: test_5027_1

    def test_5027_1(self):
        # The xml prefix (as in xml:lang below) is reserved and bound by
        # definition to http://www.w3.org/XML/1998/namespace.  XMLGenerator had
        # a bug whereby a KeyError is thrown because this namespace is missing
        # from a dictionary.
        #
        # This test demonstrates the bug by parsing a document.
        test_xml = StringIO(
            '<?xml version="1.0"?>'
            '<a:g1 xmlns:a="http://example.com/ns">'
             '<a:g2 xml:lang="en">Hello</a:g2>'
            '</a:g1>')

        parser = make_parser()
        parser.setFeature(feature_namespaces, True)
        result = StringIO()
        gen = XMLGenerator(result)
        parser.setContentHandler(gen)
        parser.parse(test_xml)

        self.assertEqual(result.getvalue(),
                         start + (
                         '<a:g1 xmlns:a="http://example.com/ns">'
                          '<a:g2 xml:lang="en">Hello</a:g2>'
                         '</a:g1>'))
开发者ID:henrywoo,项目名称:Python3.1.3-Linux,代码行数:25,代码来源:test_sax.py


示例11: read

    def read(self, filename):
        self.publications = []
        self.authors = []
        self.author_idx = {}
        self.min_year = None
        self.max_year = None

        handler = DocumentHandler(self)
        parser = make_parser()
        parser.setContentHandler(handler)
        infile = open(filename, "r")
        valid = True
        try:
            parser.parse(infile)
        except SAXException as e:
            valid = False
            print "Error reading file (" + e.getMessage() + ")"
        infile.close()

        for p in self.publications:
            if self.min_year == None or p.year < self.min_year:
                self.min_year = p.year
            if self.max_year == None or p.year > self.max_year:
                self.max_year = p.year

        self.authors_graph = self._build_authors_graph()
        return valid
开发者ID:JeffriesAgile,项目名称:comp61542-2014-lab,代码行数:27,代码来源:database.py


示例12: parse

def parse(opts):
    """
    Entry point for XML Schema parsing into an OME Model.
    """
    # The following two statements are required to "prime" the generateDS
    # code and ensure we have reasonable namespace support.
    filenames = opts.args
    namespace = opts.namespace

    logging.debug("Namespace: %s" % namespace)
    set_type_constants(namespace)
    generateDS.generateDS.XsdNameSpace = namespace
    logging.debug("Type map: %s" % opts.lang.type_map)

    parser = sax.make_parser()
    ch = XschemaHandler()
    parser.setContentHandler(ch)
    for filename in filenames:
        parser.parse(filename)

    root = ch.getRoot()
    if root is None:
        raise ModelProcessingError(
            "No model objects found, have you set the correct namespace?")
    root.annotate()
    return OMEModel.process(ch, opts)
开发者ID:IDR,项目名称:bioformats,代码行数:26,代码来源:generateds.py


示例13: __init__

 def __init__(self, arquivo_mapa):
     parser = sax.make_parser()
     self.tmxhandler = TMXHandler(arquivo_mapa)
     parser.setContentHandler(self.tmxhandler)
     print 'Carregando o mapa %s ...' % (arquivo_mapa,)
     parser.parse(arquivo_mapa)
     print 'Pronto !'
开发者ID:brunogamacatao,项目名称:PyRPG,代码行数:7,代码来源:maputils.py


示例14: __init__

 def __init__(self, parent, config):
     C3Object.__init__(self, parent, config)
     self.parser = make_parser()
     self.inputSource = SaxInput()
     self.errorHandler = ErrorHandler()
     self.parser.setErrorHandler(self.errorHandler)
     self.parser.setContentHandler(self)
开发者ID:snac-cooperative,项目名称:cheshire,代码行数:7,代码来源:parser.py


示例15: scan

	def scan(self):
		"""Parse the *.qrc* files"""
		if not has_xml:
			Logs.error('no xml support was found, the rcc dependencies will be incomplete!')
			return ([], [])

		parser = make_parser()
		curHandler = XMLHandler()
		parser.setContentHandler(curHandler)
		fi = open(self.inputs[0].abspath(), 'r')
		try:
			parser.parse(fi)
		finally:
			fi.close()

		nodes = []
		names = []
		root = self.inputs[0].parent
		for x in curHandler.files:
			nd = root.find_resource(x)
			if nd:
				nodes.append(nd)
			else:
				names.append(x)
		return (nodes, names)
开发者ID:afeldman,项目名称:waf,代码行数:25,代码来源:qt4.py


示例16: create

    def create(self, request, vendor, name, version):
        format = request.POST.get('format', 'default')

        # Get the xml containing the tags from the request
        tags_xml = request.POST.get('tags_xml')
        tags_xml = tags_xml.encode("utf-8")

        # Parse the xml containing the tags
        parser = make_parser()
        handler = TagsXMLHandler()

        # Tell the parser to use our handler
        parser.setContentHandler(handler)

        # Parse the input
        inpsrc = InputSource()
        inpsrc.setByteStream(StringIO(tags_xml))
        parser.parse(inpsrc)

        # Get the resource's id for those vendor, name and version
        resource = get_object_or_404(CatalogueResource, short_name=name,
                                   vendor=vendor, version=version)

        # Insert the tags for these resource and user in the database
        for e in handler._tags:
            tag_resource(request.user, e, resource)

        return get_tag_response(resource, request.user, format)
开发者ID:Robinlovelace,项目名称:wirecloud,代码行数:28,代码来源:views.py


示例17: run

	def run(self, params, args):

		if len(args):
			filename = args[0]
			try:
				file = open(filename, 'r')
			except:
				self.abort('cannot open file', filename)
			xml = string.join(file.readlines())
		else:
			self.abort('no input')

		parser  = make_parser()
		handler = LayoutHandler()
		parser.setContentHandler(handler)
		parser.feed(xml)
		displays = handler.getDisplays()
		(maxY, maxX) = handler.getGeometry()

		if self.db.execute('select * from tiles') > 0:
			self.abort('tiles already defined')

		for x in range(0, maxX):
			for y in range(maxY -1, -1, -1):
				i = (x*maxY)+y
				self.insertDisplay(displays[i], x, maxY-y-1)
开发者ID:nerox,项目名称:viz,代码行数:26,代码来源:__init__.py


示例18: __init__

 def __init__(self):
     PluginObject.__init__(self,self.__class__.__name__)
     self.parser = make_parser()
     self.curHandler = ResourceHandler()
     self.parsedXML = ""
     self.totalResources = []
     self.parser.setContentHandler(self.curHandler)
开发者ID:psalehpour,项目名称:nimbus,代码行数:7,代码来源:nimbus_nagios_data_processing.py


示例19: readTable

def readTable(path, name, callback):
    parser = make_parser()
    handler = SXTableHandler(name, callback)
    parser.setContentHandler(handler)

    f = os.path.join(path, "%s.xml" % name)
    parser.parse(f)
开发者ID:teknolab,项目名称:teknolab-osqa,代码行数:7,代码来源:importer.py


示例20: start

    def start(self):
	parser = make_parser()
	parser.setFeature(feature_namespaces, 0)
	parser.setContentHandler(self)
	parser.parse(self.fname)

        # Before we write out the config file we need to create another
        # VLAN which contains all the ports which have not been included
        # in any vlans. The switch seems to require this.
        ports = {}
        for i in range(1, hp_ports + 1):
            ports[i] = 0

        for i in self.vlans:
            for j in i[1]:
                ports[port2portid(j)] =  1

        port = ()
        for i in range(1, hp_ports + 1):
            if 0 == ports[i]:
                port = port + (portid2port(i),)

        self.vlans = self.vlans + \
                         (((("OTHER", "0.0.0.0", "0.0.0.0"),) + \
                           (port,)),)

        self.spit()
开发者ID:BillTheBest,项目名称:xorp.ct,代码行数:27,代码来源:xthpconfig.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python sax.parse函数代码示例发布时间:2022-05-26
下一篇:
Python expat.ParserCreate类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap