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


Python etree.ElementTree类代码示例

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


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

示例1: menu_main

def menu_main(id,category=''):
    text = read_xml(id,1)
    root = ElementTree.fromstring(text)

    elemroot = root.iter('Gen')
    j = 0
    for elem in elemroot:
        name = elem.attrib['name']
        if re.search(ListOmit, name.encode('utf-8')): continue
        id = elem.attrib['id']
        se = elem.attrib['enableSearch']
        if se=="1":
            catType = elem.attrib['search'][:-1].encode('utf-8') #change unicode to str
        else:
            catType = ""
        orderID = int(elem.attrib['orderid'][:5]) #xbmc cannot sort >10000

        j += 1
        li=xbmcgui.ListItem('[COLOR FF00FF00][ ' + name + ' ][/COLOR]')
        li.setInfo( type="Video", infoLabels={"Title":name, "Episode":orderID})
        u=sys.argv[0]+"?mode=gen&name="+urllib.quote_plus(name.encode('utf-8'))+"&id="+id+"&category="+urllib.quote_plus(catType)
        xbmcplugin.addDirectoryItem(int(sys.argv[1]),u,li,True)

    #添加一个“PPS搜索”
    li = xbmcgui.ListItem('[COLOR FFFF00FF]PPS.TV 网络电视[/COLOR][COLOR FFFFFF00] (主页) [/COLOR][COLOR FF00FFFF]共计:'+str(j)+'[/COLOR]【[COLOR FF00FF00]点此输入搜索内容[/COLOR]】')
    li.setInfo(type="Video", infoLabels={"Title":name, "Episode":1})
    u=sys.argv[0]+"?mode=search&name="+urllib.quote_plus('PPS搜索')
    xbmcplugin.addDirectoryItem(int(sys.argv[1]),u,li,True)

    xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_EPISODE)
开发者ID:13917547121,项目名称:xbmc-addons-chinese,代码行数:30,代码来源:default.py

示例2: load

	def load(self, path):
		wsp = self._modules.default("active", type="wordsStringParser")

		root = ElementTree.parse(open(path)).getroot()

		wordList = {
			"items": list(),
			"title": root.get("title", u""),
		}

		#a counter is used to suppply the ids. That's because ABBYY
		#Lingvo Tutor decided to not include ids anymore from version X5
		#on.
		counter = itertools.count()

		wordList["items"] = [
			{
				"id": next(counter),
				"questions": wsp.parse(wordTree.findtext("word") or u""),
				"answers": [[a.text or u"" for a in wordTree.findall("meanings/meaning/translations/word")]],
				"commentAfterAnswering": u", ".join(
					e.text or u""
					for e in wordTree.findall("meanings/meaning/examples/example")
				)
			}
			for wordTree in root.findall("card")
		]

		return {
			"resources": {},
			"list": wordList,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:32,代码来源:abbyy.py

示例3: load

	def load(self, path):
		#reference implementation:
		#http://jmemorize.svn.sourceforge.net/viewvc/jmemorize/trunk/jmemorize/src/jmemorize/core/io/XmlBuilder.java?view=markup
		try:
			with contextlib.closing(zipfile.ZipFile(path, "r")) as f:
				xmlFile = f.open("lesson.xml", "r")
		except (zipfile.BadZipfile, KeyError):
			xmlFile = open(path, "r")

		#crashes when the file structure is invalid.
		try:
			root = ElementTree.parse(xmlFile).getroot()
		finally:
			xmlFile.close()
		items = []
		for i, card in enumerate(root.findall(".//Card")):
			item = {
				"id": i,
				"questions": self._parse(card.get("Frontside") or u""),
				"answers": self._parse(card.get("Backside") or u""),
			}
			created = card.get("DateCreated")
			if created:
				item["created"] = self._parseDate(created)
			items.append(item)

		return {
			"resources": {},
			"list": {
				"items": sorted(items, key=lambda item: item.get("created")),
				"tests": [],
			},
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:33,代码来源:jml.py

示例4: load

	def load(self, path):
		"""Loads Teachmaster's .vok2 files. Lesson info is stored in
		   additional files, but that's not loaded. It might not map to
		   the OT result system either (not sure). For documentation on
		   the file format in German (translations are available, but
		   those aren't all complete/up-to-date):

		   http://www.teachmaster.de/wikka/DocumentationDEDateiformate

		"""
		with open(path, "r") as f:
			root = ElementTree.parse(f).getroot()

		list = {
			"items": [],
			"title": root.findtext("header/titel") or u"",
			"questionLanguage": root.findtext("header/spreins") or u"",
			"answerLanguage": root.findtext("header/sprzwei"),
		}

		for i, itemTree in enumerate(root.findall("vokabelsatz")):
			word = self._loadWordFromItemTree(itemTree)
			word["id"] = i

			list["items"].append(word)

		return {
			"resources": {},
			"list": list,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:30,代码来源:teachmaster.py

示例5: load

	def load(self, path):
		wsp = self._modules.default("active", type="wordsStringParser")

		with open(path) as f:
			root = ElementTree.parse(f).getroot()

		wordList = {
			"items": [],
		}

		wordList["questionLanguage"] = root.findtext("fields/field[1]") or u""
		wordList["answerLanguage"] = root.findtext("fields/field[2]") or u""

		#counter is used as word id
		counter = itertools.count()

		for entryTree in root.findall("entries/e"):
			wordList["items"].append({
				"id": next(counter),
				"questions": wsp.parse(entryTree.findtext("f[1]") or u""),
				"answers": wsp.parse(entryTree.findtext("f[2]")  or u""),
				"comment": entryTree.findtext("f[3]")  or u"",
			})

		return {
			"resources": {},
			"list": wordList,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:28,代码来源:fmd.py

示例6: load

	def load(self, path):
		"""Loads .fq (FlashQard) files. Based on file format inspection.
		   (even though source code is available, see
		   http://flashqard-project.org/download.php)

		"""
		with open(path, "r") as f:
			root = ElementTree.parse(f).getroot()

		list = {
			"items": [],
			"title": root.find("box").get("name"),
		}

		for i, itemTree in enumerate(root.findall(".//card")):
			questions = self._stripTags(itemTree.findtext("frontsidedocument/html"))
			answers = self._stripTags(itemTree.findtext("backsidedocument/html"))
			created = itemTree.findtext("statistics/dateCreated")
			list["items"].append({
				"id": i,
				"questions": self._parse(questions),
				"answers": self._parse(answers),
				"comment": self._stripTags(itemTree.findtext("comments")),
				"created": datetime.datetime.strptime(created, "%d.%m.%Y")
			})

		return {
			"resources": {},
			"list": list,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:30,代码来源:flashqard.py

示例7: load

	def load(self, path):
		with open(path, "r") as f:
			root = ElementTree.parse(f).getroot()

		list = {
			"items": [],
		}

		for i, itemTree in enumerate(root.findall("Vokabeldatensatz/Datensatz")):
			word = {
				"id": i,
				"questions": [],
				"answers": [],
			}
			comments = []
			for question in itemTree.findall("Vokabeln/string"):
				word["questions"].append((question.text,))
			for answer in itemTree.findall("Vokabeln/string"):
				word["answers"].append((answer.text,))
			for comment in itemTree.findall("Kommentare/string"):
				comments.append((comment.text))
			if comments:
				word["comment"] = u"; ".join(comments)

			list["items"].append(word)

		return {
			"resources": {},
			"list": list,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:30,代码来源:vokabelTrainer.py

示例8: getFileTypeOf

	def getFileTypeOf(self, path):
		if path.endswith(".t2k"):
			root = ElementTree.parse(open(path)).getroot()
			if root.find("message_data/items//item/answers[@type='4']") is not None:
				return "topo"
			else:
				#also support other formats in the future? Well,
				#everything that's left can be opened like it's of type 'words'...
				return "words"
开发者ID:TijmenW,项目名称:openteacher,代码行数:9,代码来源:t2k.py

示例9: load

	def load(self, path):
		with open(path) as f:
			root = ElementTree.parse(f).getroot()
		#dutch: lijst = list
		listTree = root.find("lijst")

		wordList = {
			"items": list(),
		}

		#dutch: titel = title
		wordList["title"] = listTree.findtext("titel") or u""
		#dutch: taal = language
		wordList["questionLanguage"] = listTree.findtext("taal/a") or u""
		wordList["answerLanguage"] = listTree.findtext("taal/b") or u""

		#change locale temporary; so strptime can do it's work the way
		#it should.
		locale.setlocale(locale.LC_ALL, "C")
		try:
			created = datetime.datetime.strptime(
				listTree.findtext("created").rsplit(" ", 1)[0], #strip tz info
				"%a, %d %b %Y %H:%M:%S" #since our datetime objects are naive
			)
		except (ValueError, AttributeError):
			created = None
		#set locale back to make sure conflicts don't arise with other
		#modules depending on the locale.
		locale.resetlocale()

		#counter is used as word id
		counter = 1

		#dutch: woord = word
		for wordTree in listTree.findall("woord"):
			word = {
				"id": int(),
				"questions": list(),
				"answers": list(),
				"comment": unicode()
			}
			word["id"] = counter
			if created:
				word["created"] = created

			wsp = self._modules.default("active", type="wordsStringParser")
			word["questions"] = wsp.parse(wordTree.findtext("a") or u"")
			word["answers"] = wsp.parse(wordTree.findtext("b") or u"")

			wordList["items"].append(word)

			counter += 1

		return {
			"resources": {},
			"list": wordList,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:57,代码来源:wrts.py

示例10: load

	def load(self, path):
		"""Loads a .t2k file into the OpenTeacher data structure.
		   http://www.teach2000.nl/help/00513_advanced_file_format.htm

		"""
		root = ElementTree.parse(open(path)).getroot()
		if self.getFileTypeOf(path) == "topo":
			return self._loadTopo(root)
		else:
			return self._loadWords(root)
开发者ID:TijmenW,项目名称:openteacher,代码行数:10,代码来源:t2k.py

示例11: load

	def load(self, path):
		if path.endswith(".pau"):
			with open(path) as f:
				root = ElementTree.parse(f).getroot()
		else:
			with contextlib.closing(gzip.open(path)) as f:
				root = ElementTree.parse(f).getroot()

		wordList = {
			#only the first line, because a description can be pretty
			#long in Pauker...
			"title": (root.findtext("Description") or u"").split("\n")[0].strip(),
			"items": [],
		}
		cards = root.findall("Batch//Card")
		if cards is not None:
			for id, card in enumerate(cards):
				questions = self._parse(
					(card.findtext("FrontSide") or u"").strip() or
					(card.findtext("FrontSide/Text") or u"").strip() or
					u""
				)
				answers = self._parse(
					(card.findtext("BackSide") or u"").strip() or
					(card.findtext("BackSide/Text") or u"").strip() or
					(card.findtext("ReverseSide") or u"").strip() or
					(card.findtext("ReverseSide/Text") or u"").strip() or
					u""
				)

				wordList["items"].append({
					"id": id,
					"questions": questions,
					"answers": answers
				})

		return {
			"resources": {},
			"list": wordList,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:40,代码来源:pauker.py

示例12: load

	def load(self, kgmPath):
		#Feed the xml parser
		with open(kgmPath) as f:
			root = ElementTree.parse(f).getroot()
		#load the map, in various later needed formats
		mapPath = os.path.join(os.path.dirname(kgmPath), root.findtext("mapFile"))
		mapImage = Image.open(mapPath).convert("RGB")
		mapImageData = mapImage.load()

		items = []
		for counter, division in enumerate(root.findall("division")):
			#iterate over all places ('divisions')
			if division.findtext("ignore") == "yes":
				#unimportant division: skip
				continue
			item = {
				"id": counter,
				"name": division.findtext("name") or u"",
			}

			#get the color the place has on the map
			r = int(division.findtext("color/red"))
			g = int(division.findtext("color/green"))
			b = int(division.findtext("color/blue"))
			color = (r, g, b)

			#get the average pixel with that color. This is done by
			#iterating over all pixels and using them to calculate an
			#average if the color matches.
			sumX = 0
			sumY = 0
			count = 0
			for x in range(mapImage.size[0]):
				for y in range(mapImage.size[1]):
					if mapImageData[x, y] == color:
						sumX += x
						sumY += y
						count += 1
			#save the averages as coordinate.
			item["x"] = sumX / count
			item["y"] = sumY / count

			items.append(item)

		return {
			"resources": {
				"mapPath": mapPath,
			},
			"list": {
				"items": items,
			},
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:52,代码来源:kgm.py

示例13: load

	def load(self, path):
		items = []

		with open(path, "r") as f:
			root = ElementTree.parse(f).getroot()

		for id, card in enumerate(root.findall("card")):
			items.append({
				"id": id,
				"questions": self._parse(card.findtext("front") or u""),
				"answers": self._parse(card.findtext("back") or u""),
			})

		return {
			"list": {
				"items": items,
			},
			"resources": {},
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:19,代码来源:granule.py

示例14: load

	def load(self, path):
		"""Documentation: http://jvlt.sourceforge.net/download.html
		   (at the bottom)

		"""
		with contextlib.closing(zipfile.ZipFile(path)) as jvltZip:
			root = ElementTree.parse(jvltZip.open("dict.xml")).getroot()

		list = {"items": []}

		for i, itemTree in enumerate(root.findall(".//entry")):
			list["items"].append({
				"id": i,
				"questions": self._parse(itemTree.findtext("orth") or u""),
				"answers": self._parse(itemTree.findtext("sense/trans") or u""),
				"comment": u", ".join([pron.text for pron in itemTree.findall("pron")]),
			})

		return {
			"resources": {},
			"list": list,
		}
开发者ID:TijmenW,项目名称:openteacher,代码行数:22,代码来源:jvlt.py

示例15: image2svg

def image2svg(im_path, embed_image=True):
    ### Only part of the code that uses PIL ######
    im = Image.open(im_path)
    width, height = im.size
    fmt = im.format.lower()
    ### End of PIL ###############################

    if embed_image:
        f = open(im_path, 'rb')
        im_contents = f.read()
        f.close()
        b64 = base64.b64encode(im_contents)
        #im_href = "data:image/" + fmt + ";base64," + base64.b64encode(im_contents)
        im_href = "data:image/{0};base64,{1}".format(fmt, b64)
    else:
        im_href = "file:" + urllib.pathname2url(im_path)

    ### SVG ###
    doc = etree.parse(blank_svg_path)
    svg = doc.getroot()
    svg.set('width', str(width))
    svg.set('height', str(height))
    svg.set('xmlns:xlink', "http://www.w3.org/1999/xlink")
    ### Use descriptive variables for the layers
    image_layer = svg[image_layer_index]
    shapes_layer = svg[shapes_layer_index]
    ### Create the 'image' element
    image = etree.SubElement(image_layer, 'image')
    image.set('x', '0')
    image.set('y', '0')
    image.set('height', str(height))
    image.set('width', str(width))
    image.set('xlink:href', im_href)  # encode base64
    ###
    svg_content = etree.tostring(svg)  # remove
    #### Very Ugly Hack Ahead !!!
    hack_head, hack_body = svg_content.split('\n', 1)
    hack_head = hack_head[:-1]
    hack_head = ''.join([hack_head, ' xmlns="http://www.w3.org/2000/svg">'])
    svg_content = '\n'.join([hack_head, hack_body])
    #### END HACK

    svg_b64 = "data:image/svg+xml;base64," + base64.b64encode(svg_content)

    return {'svg': svg_content,
            'svg_b64': svg_b64,
            'height': height,
            'width': width}
开发者ID:KuDeTa,项目名称:image-occlusion-2,代码行数:48,代码来源:svgutils.py


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