亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ifile.py

?? reduced python source for embedded apps
?? PY
字號:
# Tools for info file processing.# XXX Need to be more careful with reading ahead searching for nodes.import regexpimport string# Exported exceptions.#NoSuchFile = 'no such file'NoSuchNode = 'no such node'# The search path for info files; this is site-specific.# Directory names should end in a partname delimiter,# so they can simply be concatenated to a relative pathname.##INFOPATH = ['', ':Info.Ibrowse:', ':Info:']	# MacINFOPATH = ['', '/usr/local/emacs/info/']	# X11 on UNIX# Tunable constants.#BLOCKSIZE = 512			# Qty to align reads to, if possibleFUZZ = 2*BLOCKSIZE		# Qty to back-up before searching for a nodeCHUNKSIZE = 4*BLOCKSIZE		# Qty to read at once when reading lots of data# Regular expressions used.# Note that it is essential that Python leaves unrecognized backslash# escapes in a string so they can be seen by regexp.compile!#findheader = regexp.compile('\037\014?\n(.*\n)').matchfindescape = regexp.compile('\037').matchparseheader = regexp.compile('[nN]ode:[ \t]*([^\t,\n]*)').matchfindfirstline = regexp.compile('^.*\n').matchfindnode = regexp.compile('[nN]ode:[ \t]*([^\t,\n]*)').matchfindprev = regexp.compile('[pP]rev[ious]*:[ \t]*([^\t,\n]*)').matchfindnext = regexp.compile('[nN]ext:[ \t]*([^\t,\n]*)').matchfindup = regexp.compile('[uU]p:[ \t]*([^\t,\n]*)').matchfindmenu = regexp.compile('^\* [mM]enu:').matchfindmenuitem = regexp.compile( \	'^\* ([^:]+):[ \t]*(:|\([^\t]*\)[^\t,\n.]*|[^:(][^\t,\n.]*)').matchfindfootnote = regexp.compile( \	'\*[nN]ote ([^:]+):[ \t]*(:|[^:][^\t,\n.]*)').matchparsenoderef = regexp.compile('^\((.*)\)(.*)$').match# Get a node and all information pertaining to it.# This doesn't work if there is an indirect tag table,# and in general you are better off using icache.get_node() instead.# Functions get_whole_file() and get_file_node() provide part# functionality used by icache.# Raise NoSuchFile or NoSuchNode as appropriate.#def get_node(curfile, ref):	file, node = parse_ref(curfile, ref)	if node == '*':		return get_whole_file(file)	else:		return get_file_node(file, 0, node)#def get_whole_file(file):	f = try_open(file) # May raise NoSuchFile	text = f.read()	header, menu, footnotes = ('', '', ''), [], []	return file, '*', header, menu, footnotes, text#def get_file_node(file, offset, node):	f = try_open(file) # May raise NoSuchFile	text = find_node(f, offset, node) # May raise NoSuchNode	node, header, menu, footnotes = analyze_node(text)	return file, node, header, menu, footnotes, text# Parse a node reference into a file (possibly default) and node name.# Possible reference formats are: "NODE", "(FILE)", "(FILE)NODE".# Default file is the curfile argument; default node is Top.# A node value of '*' is a special case: the whole file should# be interpreted (by the caller!) as a single node.#def parse_ref(curfile, ref):	match = parsenoderef(ref)	if not match:		file, node = curfile, ref	else:		(a, b), (a1, b1), (a2, b2) = match		file, node = ref[a1:b1], ref[a2:b2]	if not file:		file = curfile # (Is this necessary?)	if not node:		node = 'Top'	return file, node# Extract node name, links, menu and footnotes from the node text.#def analyze_node(text):	#	# Get node name and links from the header line	#	match = findfirstline(text)	if match:		(a, b) = match[0]		line = text[a:b]	else:		line = ''	node = get_it(text, findnode)	prev = get_it(text, findprev)	next = get_it(text, findnext)	up = get_it(text, findup)	#	# Get the menu items, if there is a menu	#	menu = []	match = findmenu(text)	if match:		(a, b) = match[0]		while 1:			match = findmenuitem(text, b)			if not match:				break			(a, b), (a1, b1), (a2, b2) = match			topic, ref = text[a1:b1], text[a2:b2]			if ref == ':':				ref = topic			menu.append((topic, ref))	#	# Get the footnotes	#	footnotes = []	b = 0	while 1:		match = findfootnote(text, b)		if not match:			break		(a, b), (a1, b1), (a2, b2) = match		topic, ref = text[a1:b1], text[a2:b2]		if ref == ':':			ref = topic		footnotes.append((topic, ref))	#	return node, (prev, next, up), menu, footnotes#def get_it(line, matcher):	match = matcher(line)	if not match:		return ''	else:		(a, b), (a1, b1) = match		return line[a1:b1]# Find a node in an open file.# The offset (from the tags table) is a hint about the node's position.# Pass zero if there is no tags table.# Raise NoSuchNode if the node isn't found.# NB: This seeks around in the file.#def find_node(f, offset, node):	node = string.lower(node) # Just to be sure	#	# Position a little before the given offset,	# so we may find the node even if it has moved around	# in the file a little.	#	offset = max(0, ((offset-FUZZ) / BLOCKSIZE) * BLOCKSIZE)	f.seek(offset)	#	# Loop, hunting for a matching node header.	#	while 1:		buf = f.read(CHUNKSIZE)		if not buf:			break		i = 0		while 1:			match = findheader(buf, i)			if match:				(a,b), (a1,b1) = match				start = a1				line = buf[a1:b1]				i = b				match = parseheader(line)				if match:					(a,b), (a1,b1) = match					key = string.lower(line[a1:b1])					if key == node:						# Got it!  Now read the rest.						return read_node(f, buf[start:])			elif findescape(buf, i):				next = f.read(CHUNKSIZE)				if not next:					break				buf = buf + next			else:				break	#	# If we get here, we didn't find it.  Too bad.	#	raise NoSuchNode, node# Finish off getting a node (subroutine for find_node()).# The node begins at the start of buf and may end in buf;# if it doesn't end there, read additional data from f.#def read_node(f, buf):	i = 0	match = findescape(buf, i)	while not match:		next = f.read(CHUNKSIZE)		if not next:			end = len(buf)			break		i = len(buf)		buf = buf + next		match = findescape(buf, i)	else:		# Got a match		(a, b) = match[0]		end = a	# Strip trailing newlines	while end > 0 and buf[end-1] == '\n':		end = end-1	buf = buf[:end]	return buf# Read reverse starting at offset until the beginning of a node is found.# Then return a buffer containing the beginning of the node,# with f positioned just after the buffer.# The buffer will contain at least the full header line of the node;# the caller should finish off with read_node() if it is the right node.# (It is also possible that the buffer extends beyond the node!)# Return an empty string if there is no node before the given offset.#def backup_node(f, offset):	start = max(0, ((offset-CHUNKSIZE) / BLOCKSIZE) * BLOCKSIZE)	end = offset	while start < end:		f.seek(start)		buf = f.read(end-start)		i = 0		hit = -1		while 1:			match = findheader(buf, i)			if match:				(a,b), (a1,b1) = match				hit = a1				i = b			elif end < offset and findescape(buf, i):				next = f.read(min(offset-end, BLOCKSIZE))				if not next:					break				buf = buf + next				end = end + len(next)			else:				break		if hit >= 0:			return buf[hit:]		end = start		start = max(0, end - CHUNKSIZE)	return ''# Make a tag table for the given file by scanning the file.# The file must be open for reading, and positioned at the beginning# (or wherever the hunt for tags must begin; it is read till the end).#def make_tags(f):	tags = {}	while 1:		offset = f.tell()		buf = f.read(CHUNKSIZE)		if not buf:			break		i = 0		while 1:			match = findheader(buf, i)			if match:				(a,b), (a1,b1) = match				start = offset+a1				line = buf[a1:b1]				i = b				match = parseheader(line)				if match:					(a,b), (a1,b1) = match					key = string.lower(line[a1:b1])					if tags.has_key(key):						print 'Duplicate node:',						print key					tags[key] = '', start, line			elif findescape(buf, i):				next = f.read(CHUNKSIZE)				if not next:					break				buf = buf + next			else:				break	return tags# Try to open a file, return a file object if succeeds.# Raise NoSuchFile if the file can't be opened.# Should treat absolute pathnames special.#def try_open(file):	for dir in INFOPATH:		try:			return open(dir + file, 'r')		except IOError:			pass	raise NoSuchFile, file# A little test for the speed of make_tags().#TESTFILE = 'texinfo-1'def test_make_tags():	import time	f = try_open(TESTFILE)	t1 = time.millitimer()	tags = make_tags(f)	t2 = time.millitimer()	print 'Making tag table for', `TESTFILE`, 'took', t2-t1, 'msec.'

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香激情综合五月| 天堂午夜影视日韩欧美一区二区| 日本亚洲电影天堂| 91精品国产综合久久蜜臀 | 成人精品视频一区二区三区| 国产欧美日本一区二区三区| 懂色一区二区三区免费观看| 国产精品久久久久永久免费观看| 91免费版pro下载短视频| 亚洲制服丝袜一区| 日韩亚洲欧美成人一区| 国产成人小视频| 亚洲激情一二三区| 欧美三级中文字幕| 国产综合色在线视频区| 最新欧美精品一区二区三区| 欧美日韩亚洲综合一区| 免费久久精品视频| 中文字幕在线观看一区二区| 欧美日本韩国一区二区三区视频| 麻豆91精品视频| 国产精品理论在线观看| 欧美日韩aaaaaa| 国产乱码一区二区三区| 亚洲柠檬福利资源导航| 精品噜噜噜噜久久久久久久久试看| 国产.欧美.日韩| 亚洲国产精品久久久久婷婷884| 精品国产一区二区三区av性色| 成人精品视频一区二区三区尤物| 午夜av电影一区| 欧美极品xxx| 3d动漫精品啪啪| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 在线观看亚洲一区| 国产一区二区久久| 视频一区免费在线观看| 国产精品视频在线看| 欧美裸体bbwbbwbbw| 成人aa视频在线观看| 日本sm残虐另类| 亚洲麻豆国产自偷在线| 精品国产精品网麻豆系列| 日本精品一级二级| 国产高清不卡一区二区| 日日夜夜精品视频天天综合网| 国产精品日韩成人| 日韩女优av电影| 欧美日韩一区 二区 三区 久久精品| 岛国精品在线观看| 国产乱子轮精品视频| 日韩av高清在线观看| 亚洲伊人色欲综合网| 中文字幕中文字幕中文字幕亚洲无线| 日韩欧美国产麻豆| 91精品综合久久久久久| 91福利国产精品| 色哟哟亚洲精品| av毛片久久久久**hd| 成人午夜精品在线| 国产精品一区一区| 国产在线精品不卡| 精品无人区卡一卡二卡三乱码免费卡| 亚洲成av人综合在线观看| 亚洲精品国产一区二区三区四区在线| 欧美激情一区二区三区| 国产日韩欧美一区二区三区乱码| 精品国产免费久久| 精品久久久影院| 欧美tk—视频vk| 精品国产青草久久久久福利| 日韩欧美www| 久久亚洲影视婷婷| 国产日韩影视精品| 国产精品视频线看| 国产精品久久久久一区二区三区 | 亚洲靠逼com| 亚洲欧美日韩国产手机在线| 中文字幕在线观看不卡视频| 中文字幕日韩av资源站| 自拍偷拍欧美精品| 亚洲精品乱码久久久久久| 亚洲综合在线五月| 亚洲成av人**亚洲成av**| 亚洲成人黄色影院| 午夜一区二区三区在线观看| 日韩av电影天堂| 久久精品999| 国产成人自拍网| 97久久精品人人做人人爽| 色婷婷综合久久久久中文一区二区| 色视频欧美一区二区三区| 欧美日韩中文国产| 国产精品天干天干在线综合| 亚洲欧洲三级电影| 一区二区激情视频| 青青草原综合久久大伊人精品优势 | 欧美不卡一区二区三区| 2021久久国产精品不只是精品| 国产精品毛片大码女人| 亚洲精品视频观看| 免费在线观看视频一区| 国产麻豆精品theporn| 91丨porny丨中文| 8v天堂国产在线一区二区| 精品电影一区二区| 亚洲欧洲日韩在线| 免费在线欧美视频| 91在线观看下载| 在线观看91精品国产麻豆| 久久看人人爽人人| 亚洲影院久久精品| 国产一区二区三区免费播放| 99久久精品99国产精品| 欧美日韩精品三区| 久久久久综合网| 亚洲曰韩产成在线| 国产综合久久久久久鬼色| 91国偷自产一区二区三区成为亚洲经典 | 亚洲电影中文字幕在线观看| 美女视频免费一区| 成人avav在线| 欧美成人a视频| 亚洲精品亚洲人成人网| 黑人精品欧美一区二区蜜桃 | 成人激情视频网站| 91精品在线一区二区| 亚洲欧美日韩久久| 国产精品69毛片高清亚洲| 欧美三级视频在线| 国产女主播一区| 久久国产精品色婷婷| 欧美视频中文一区二区三区在线观看| 久久九九影视网| 视频一区二区三区在线| av在线一区二区| 久久天天做天天爱综合色| 丝袜美腿亚洲综合| 91小视频免费观看| 国产拍欧美日韩视频二区| 天天影视网天天综合色在线播放| 成人晚上爱看视频| 精品久久久久久久久久久院品网 | 久久午夜色播影院免费高清| 亚洲国产精品久久久久婷婷884| 成人动漫在线一区| 久久五月婷婷丁香社区| 免费不卡在线观看| 欧美另类videos死尸| 综合久久给合久久狠狠狠97色| 国产一区二区三区在线看麻豆| 欧美精品粉嫩高潮一区二区| 夜夜精品视频一区二区| 91免费版pro下载短视频| 中文字幕制服丝袜成人av| 国产精品一级片| 2021中文字幕一区亚洲| 国产一区久久久| 久久看人人爽人人| 国产伦精品一区二区三区视频青涩| 欧美一二三四在线| 免费精品99久久国产综合精品| 91精品国产91久久综合桃花| 日韩黄色一级片| 日韩一区和二区| 精品一区二区三区视频在线观看 | 成人av免费网站| 国产精品美女久久久久aⅴ| 成人免费观看男女羞羞视频| 国产午夜精品福利| 成人18视频在线播放| 国产精品久久久久久一区二区三区| 成人午夜免费av| 亚洲欧美日韩中文字幕一区二区三区| 色综合久久综合网97色综合| 亚洲一线二线三线视频| 欧美日韩成人一区二区| 蜜桃视频第一区免费观看| 亚洲精品一区二区在线观看| 国产精品一区二区男女羞羞无遮挡| 久久综合一区二区| av激情亚洲男人天堂| 亚洲欧美另类在线| 欧美日本国产视频| 美女任你摸久久| 欧美激情艳妇裸体舞| 91丨九色丨黑人外教| 亚洲成人av一区| 精品91自产拍在线观看一区| 国产99一区视频免费| 亚洲一区二区在线观看视频| 欧美一级黄色大片| 国产成人精品免费网站| 一区二区三区毛片| 欧美成人一区二区三区片免费 | 国产欧美一区二区三区在线老狼| 波多野结衣中文一区| 亚洲高清视频在线| 国产亚洲一区字幕| 欧美亚洲图片小说|