本文整理汇总了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;未经允许,请勿转载。 |
请发表评论