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


Python utils.rdata函数代码示例

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


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

示例1: handle_char_styles

def handle_char_styles(page, data, parent, parser = None):
	off = 8
	(count, off) = rdata(data, off, '<H')
	ids = []
	off = len(data) - 2 * count
	start_ids = off - 2
	while off < len(data):
		(id, off) = rdata(data, off, '<H')
		ids.append(id)
	off = 8
	fmt_size = 28
	start_styles = off + 2 + fmt_size * count
	attrsiter = add_pgiter(page, 'Attr. sets', 'wt602', 'container', data[off:start_styles], parent)
	off += 2
	for (n, id) in zip(range(0, count), ids):
		add_pgiter(page, 'Attr. set %d (ID: %d)' % (n, id), 'wt602', 'attrset', data[off:off + fmt_size], attrsiter)
		off += fmt_size
	assert(off == start_styles)
	descsiter = add_pgiter(page, 'Styles', 'wt602', 'container', data[off:start_ids], parent)
	off += 2
	n = 0
	while off < start_ids:
		add_pgiter(page, 'Style %d' % n, 'wt602', 'style', data[off:off + 6], descsiter)
		off += 6
		n += 1
	# assert(off == start_ids)
	add_pgiter(page, 'ID map', 'wt602', 'attrset_ids', data[start_ids:], parent)
开发者ID:rgwan,项目名称:re-lab,代码行数:27,代码来源:wt602.py

示例2: parse_data_record

	def parse_data_record(self, n, data, parent):
		(para, off) = rdata(data, 2, '>H')
		off += 2
		(typ, off) = rdata(data, off, 'B')
		typ_str = None
		if int(typ) < len(plucker_type):
			typ_str = ' (%s)' % plucker_type[int(typ)]
		reciter = add_pgiter(self.page, 'Record %d%s' % (n, typ_str), 'pdb', 'plucker_record', data, parent)

		if typ == 0 or typ == 1:
			# read para headers
			off = 8
			paraiter = add_pgiter(self.page, 'Paragraphs', 'pdb', 0, data[off:off + 4 * int(para)], reciter)
			for i in range(int(para)):
				(size, off) = rdata(data, off, '>H')
				(attrs, off) = rdata(data, off, '>H')
				add_pgiter(self.page, 'Paragraph %d' % i, 'pdb', 'plucker_para', data[off - 4:off], paraiter)

			text = data[off:len(data)]

			if typ == 0:
				add_pgiter(self.page, 'Text', 'pdb', 0, text, reciter)
			elif typ == 1:
				if self.version == 1:
					uncompressed = lz77_decompress(text)
					add_pgiter(self.page, 'Text', 'pdb', 0, uncompressed, reciter)
				elif self.version == 2:
					uncompressed = zlib.decompress(text)
					add_pgiter(self.page, 'Text', 'pdb', 0, uncompressed, reciter)
开发者ID:AlexP11223,项目名称:re-lab,代码行数:29,代码来源:pdb.py

示例3: add_obj_rectangle

def add_obj_rectangle(view, data, offset):
	off = _add_obj_shape(view, data, offset)
	# TODO: It's not clear if the dims are relative to canvas or to the
	# shape's origin. All rectangles I've seen've had offset (0, 0).
	(tl_x, off) = rdata(data, off, '<i')
	view.add_iter('Top left corner X', tl_x, off - 4, 4, '<i')
	(tl_y, off) = rdata(data, off, '<i')
	view.add_iter('Top left corner Y', tl_y, off - 4, 4, '<i')
	(tr_x, off) = rdata(data, off, '<i')
	view.add_iter('Top right corner X', tr_x, off - 4, 4, '<i')
	(tr_y, off) = rdata(data, off, '<i')
	view.add_iter('Top right corner Y', tr_y, off - 4, 4, '<i')
	(br_x, off) = rdata(data, off, '<i')
	view.add_iter('Bottom right corner X', br_x, off - 4, 4, '<i')
	(br_y, off) = rdata(data, off, '<i')
	view.add_iter('Bottom right corner Y', br_y, off - 4, 4, '<i')
	(bl_x, off) = rdata(data, off, '<i')
	view.add_iter('Bottom left corner X', bl_x, off - 4, 4, '<i')
	(bl_y, off) = rdata(data, off, '<i')
	view.add_iter('Bottom left corner Y', bl_y, off - 4, 4, '<i')
	corner_types = {1: 'normal', 2: 'round', 3: 'round in', 4: 'cut'}
	(corner, off) = rdata(data, off, '<H')
	view.add_iter('Corner type', key2txt(corner, corner_types), off - 2, 2, '<H')
	(rounding, off) = rdata(data, off, '<H')
	view.add_iter('Rounding', '%.3fin' % (rounding * 0.02028), off - 2, 2, '<H')
	off = _add_point_list(view, data, off)
	return off
开发者ID:renyxa,项目名称:re-lab,代码行数:27,代码来源:zbr.py

示例4: add_comment

def add_comment(hd, size, data, off):
	(row, off) = rdata(data, off, '<H')
	add_iter(hd, 'Row', format_row(row), off - 2, 2, '<H')
	(col, off) = rdata(data, off, '<B')
	add_iter(hd, 'Column', format_column(col), off - 1, 1, '<B')
	off += 1
	add_long_string(hd, size, data, off, 'Comment')
开发者ID:AlexP11223,项目名称:re-lab,代码行数:7,代码来源:wls.py

示例5: parse_text_frame

	def parse_text_frame(self, data, parent):
		off = self._parse_object(data, 0, parent)
		off = self._parse_object(data, off, parent)
		off = self._parse_object(data, off, parent)
		add_pgiter(self.page, 'Bounding box', 'zmf', 'zmf2_bbox', data[off:off + 0x20], parent)
		off += 0x20
		(count, off) = rdata(data, off, '<I')

		chars = []
		chars_len = 0
		i = 0
		while i < int(count):
			(length, off) = rdata(data, off, '<I')
			i += 1
			chars.append(data[off - 4:off + int(length)])
			chars_len += 4 + int(length)
			off += int(length)

		charsiter = add_pgiter(self.page, 'Characters', 'zmf', 0, data[off:off + chars_len], parent)
		i = 0
		while i != len(chars):
			add_pgiter(self.page, 'Character %d' % (i + 1), 'zmf', 'zmf2_character', chars[i], charsiter)
			i += 1

		return off
开发者ID:cherry-wb,项目名称:re-lab,代码行数:25,代码来源:zmf.py

示例6: add_record

def add_record(hd, size, data):
	off = 0
	(typ, off) = rdata(data, off, '<B')
	add_iter(hd, 'Record type', typ, off - 1, 1, '<B')
	(length, off) = rdata(data, off, '<H')
	add_iter(hd, 'Record length', length, off - 2, 2, '<H')
	return off
开发者ID:AlexP11223,项目名称:re-lab,代码行数:7,代码来源:c602.py

示例7: add_cell

def add_cell(hd, size, data):
	off = add_record(hd, size, data)
	(col, off) = rdata(data, off, '<B')
	add_iter(hd, 'Column', format_column(col), off - 1, 1, '<B')
	(row, off) = rdata(data, off, '<H')
	add_iter(hd, 'Row', format_row(row), off - 2, 2, '<H')
	return (off, col, row)
开发者ID:AlexP11223,项目名称:re-lab,代码行数:7,代码来源:c602.py

示例8: add_string

def add_string(hd, size, data, off, name, fmt):
	fmtlen = struct.calcsize(fmt)
	(length, off) = rdata(data, off, fmt)
	add_iter(hd, '%s length' % name, length, off - fmtlen, fmtlen, fmt)
	(text, off) = rdata(data, off, '%ds' % length)
	add_iter(hd, name, unicode(text, 'cp1250'), off - length, length, '%ds' % length)
	return off
开发者ID:weluc,项目名称:re-lab,代码行数:7,代码来源:wt602.py

示例9: add_style_para

def add_style_para(hd, size, data):
	off = 0
	(attribs, off) = rdata(data, off, '<H')
	# add_iter(hd, 'Changed attributes', '%s' % get_para_style(attribs), off - 2, 2, '<H')
	off += 2
	(attrset, off) = rdata(data, off, '<H')
	add_iter(hd, 'Attribute set', attrset, off - 2, 2, '<H')
开发者ID:rgwan,项目名称:re-lab,代码行数:7,代码来源:wt602.py

示例10: add_obj_page

def add_obj_page(view, data, offset):
	off = offset + 17
	(dimX, off) = rdata(data, off, '<I')
	view.add_iter('A dimension?', dimX, off - 4, 4, '<I')
	(dimY, off) = rdata(data, off, '<I')
	view.add_iter('A dimension?', dimY, off - 4, 4, '<I')
	# As with ZMF, the page is placed on a canvas and all dimensions are
	# relative to the canvas.
	(left_margin, off) = rdata(data, off, '<i')
	view.add_iter('Left page margin?', left_margin, off - 4, 4, '<i')
	(top_margin, off) = rdata(data, off, '<i')
	view.add_iter('Top page margin?', top_margin, off - 4, 4, '<i')
	(right_margin, off) = rdata(data, off, '<i')
	view.add_iter('Right page margin?', right_margin, off - 4, 4, '<i')
	(bottom_margin, off) = rdata(data, off, '<i')
	view.add_iter('Bottom page margin?', bottom_margin, off - 4, 4, '<i')
	(width, off) = rdata(data, off, '<I')
	view.add_iter('Page width', width, off - 4, 4, '<I')
	(height, off) = rdata(data, off, '<I')
	view.add_iter('Page height', height, off - 4, 4, '<I')
	(cwidth, off) = rdata(data, off, '<I')
	view.add_iter('Canvas width?', cwidth, off - 4, 4, '<I')
	(cheight, off) = rdata(data, off, '<I')
	view.add_iter('Canvas height?', cheight, off - 4, 4, '<I')
	off += 8
	return _add_obj_list(view, data, off)
开发者ID:renyxa,项目名称:re-lab,代码行数:26,代码来源:zbr.py

示例11: parse_color

	def parse_color(self, data, parent):
		(length, off) = rdata(data, 0xd, '<I')
		name_str = 'Color'
		if length > 1:
			(name, off) = rdata(data, off, '%ds' % (int(length) - 1))
			name_str += ' (%s)' % unicode(name, 'cp1250')
		add_pgiter(self.page, name_str, 'zmf', 'zmf2_color', data, parent)
		return len(data)
开发者ID:cherry-wb,项目名称:re-lab,代码行数:8,代码来源:zmf.py

示例12: add_string

def add_string(hd, size, data):
    off = 0
    (c, off) = rdata(data, off, ">B")
    sz = c & 0xF
    if sz == 0xF:
        (sz, off) = read_int(data, off)
    (string, off) = rdata(data, off, "%ds" % sz)
    add_iter(hd, "Value", string, off - sz, sz, "%ds" % sz)
开发者ID:iSapiens,项目名称:re-lab,代码行数:8,代码来源:plist.py

示例13: chop_tag_f55c

def chop_tag_f55c(hd, size, data):
	(count, off) = rdata(data, 2, '<H')
	add_iter(hd, 'Page count', count, off - 2, 2, '<H')
	i = 0
	while i != int(count):
		(pid, off) = rdata(data, off, '<I')
		add_iter(hd, 'Page %d' % i, '0x%x' % pid, off - 4, 4, '<I')
		i += 1
开发者ID:AlexP11223,项目名称:re-lab,代码行数:8,代码来源:lrf.py

示例14: add_header

def add_header(hd, size, data):
	(sig, off) = rdata(data, 0, '<H')
	add_iter(hd, 'Signature', '0x%x' % sig, off - 2, 2, '<H')
	(version, off) = rdata(data, off, '<H')
	add_iter(hd, 'Version', version, off - 2, 2, '<H')
	(comment, off) = rdata(data, off, '100s')
	add_iter(hd, 'Comment', comment, off - 100, 100, '100s')
	assert off == 104
开发者ID:AlexP11223,项目名称:re-lab,代码行数:8,代码来源:zbr.py

示例15: add_page_breaks

def add_page_breaks(hd, size, data, off):
	(count, off) = rdata(data, off, '<H')
	add_iter(hd, 'Number of breaks', count, off - 2, 2, '<H')
	i = 0
	while off + 2 <= size:
		(row, off) = rdata(data, off, '<H')
		add_iter(hd, 'Break before row [%d]' % i, format_row(row), off - 2, 2, '<H')
		i += 1
开发者ID:AlexP11223,项目名称:re-lab,代码行数:8,代码来源:wls.py


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