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

Python unpack.unpack_archive函数代码示例

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

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



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

示例1: testExtractIllegal

	def testExtractIllegal(self):
		try:
			with open('HelloWorld.tgz', 'rb') as stream:
				unpack.unpack_archive('ftp://foo/file.tgz', stream, self.tmpdir, extract = 'Hello`World`')
			assert False
		except SafeException as ex:
			assert 'Illegal' in str(ex)
开发者ID:dabrahams,项目名称:0install,代码行数:7,代码来源:testunpack.py


示例2: testNonAscii

    def testNonAscii(self):
        mydir = os.path.join(self.tmpdir, "unicode")
        os.mkdir(mydir)
        with open("unicode.tar.gz", "rb") as stream:
            unpack.unpack_archive("ftp://foo/file.tgz", stream, self.tmpdir)
        self.assertEqual(
            [
                s.decode("utf-8")
                for s in [
                    b"D /unicode",
                    b"D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88",
                    b"F c1c727274876ed5915c75a907131b8462cfdd5ba278140067dc80a2bcba033d6 1377477018 14 file",
                ]
            ],
            list(manifest.generate_manifest(self.tmpdir, alg="sha256")),
        )

        self.assertEqual(
            [
                s.decode("utf-8")
                for s in [
                    b"D /unicode",
                    b"D /unicode/test-unic\xcc\xa7\xc3\xb8\xc3\xb0e\xcc\x88",
                    b"F 5f1ff6172591102593950d1ae6c4a78709b1c44c 1377477018 14 file",
                ]
            ],
            list(manifest.generate_manifest(self.tmpdir, alg="sha1new")),
        )
开发者ID:rammstein,项目名称:0install,代码行数:28,代码来源:testmanifest.py


示例3: testBadExt

 def testBadExt(self):
     try:
         with open("HelloWorld.tgz", "rb") as stream:
             unpack.unpack_archive("ftp://foo/file.foo", stream, self.tmpdir)
         assert False
     except SafeException as ex:
         assert "Unknown extension" in str(ex)
开发者ID:res2k,项目名称:0install,代码行数:7,代码来源:testunpack.py


示例4: testExtractIllegal

 def testExtractIllegal(self):
     try:
         with open("HelloWorld.tgz", "rb") as stream:
             unpack.unpack_archive("ftp://foo/file.tgz", stream, self.tmpdir, extract="Hello`World`")
         assert False
     except SafeException as ex:
         assert "Illegal" in str(ex)
开发者ID:res2k,项目名称:0install,代码行数:7,代码来源:testunpack.py


示例5: testBadExt

	def testBadExt(self):
		try:
			with open('HelloWorld.tgz', 'rb') as stream:
				unpack.unpack_archive('ftp://foo/file.foo', stream, self.tmpdir)
			assert False
		except SafeException as ex:
			assert 'Unknown extension' in str(ex)
开发者ID:dabrahams,项目名称:0install,代码行数:7,代码来源:testunpack.py


示例6: fetch

def fetch(url, base, filename, dest, extract=None, type=None, local_file=None):
	mode = 'w+' if local_file is None else 'r'
	with open(local_file or os.path.join(base, filename), mode) as data:
		if local_file is None:
			log.info("downloading %s -> %s" % (url, os.path.join(base, filename)))
			with contextlib.closing(urllib2.urlopen(url)) as stream:
				while True:
					chunk = stream.read(1024)
					if not chunk: break
					data.write(chunk)
			data.seek(0)
		os.makedirs(os.path.join(base, dest))
		unpack.unpack_archive(url, data = data, destdir = os.path.join(base, dest), extract=extract, type=type)
开发者ID:timbertson,项目名称:0downstream,代码行数:13,代码来源:archive.py


示例7: testExtractFails

 def testExtractFails(self):
     stderr = os.dup(2)
     try:
         null = os.open("/dev/null", os.O_WRONLY)
         os.close(2)
         os.dup2(null, 2)
         try:
             unpack.unpack_archive("ftp://foo/file.tgz", file("HelloWorld.tgz"), self.tmpdir, extract="HelloWorld2")
             assert False
         except SafeException, ex:
             if "Failed to extract" not in str(ex) and "Unable to find" not in str(ex):  # GNU tar  # Python tar
                 raise ex
     finally:
         os.dup2(stderr, 2)
开发者ID:pombredanne,项目名称:zero-install,代码行数:14,代码来源:testunpack.py


示例8: testExtractFails

	def testExtractFails(self):
		stderr = os.dup(2)
		try:
			null = os.open(os.devnull, os.O_WRONLY)
			os.close(2)
			os.dup2(null, 2)
			try:
				unpack.unpack_archive('ftp://foo/file.tgz', open('HelloWorld.tgz'), self.tmpdir, extract = 'HelloWorld2')
				assert False
			except SafeException as ex:
				if ('Failed to extract' not in str(ex) and	# GNU tar
				    'Unable to find' not in str(ex)):		# Python tar
					raise ex
		finally:
			os.dup2(stderr, 2)
开发者ID:dabrahams,项目名称:zeroinstall,代码行数:15,代码来源:testunpack.py


示例9: handle

def handle(config, options, args):
	"""@type args: [str]"""
	if len(args) == 1:
		extract = None
	elif len(args) == 2:
		extract = args[1]
	else:
		raise UsageError()

	source = args[0]
	alg = manifest.algorithms.get(options.algorithm or 'sha1new', None)
	if alg is None:
		raise SafeException(_('Unknown algorithm "%s"') % alg)

	show_manifest = bool(options.manifest)
	show_digest = bool(options.digest) or not show_manifest

	def do_manifest(d):
		if extract is not None:
			d = os.path.join(d, extract)
		digest = alg.new_digest()
		for line in alg.generate_manifest(d):
			if show_manifest:
				print(line)
			digest.update((line + '\n').encode('utf-8'))
		if show_digest:
			print(alg.getID(digest))

	if os.path.isdir(source):
		if extract is not None:
			raise SafeException("Can't use extract with a directory")
		do_manifest(source)
	else:
		data = None
		tmpdir = tempfile.mkdtemp()
		try:
			data = open(args[0], 'rb')
			unpack.unpack_archive(source, data, tmpdir, extract)
			do_manifest(tmpdir)
		finally:
			support.ro_rmtree(tmpdir)
			if data:
				data.close()
开发者ID:AlexanderRyzhko,项目名称:0install-TUF,代码行数:43,代码来源:digest.py


示例10: testGem

	def testGem(self):
		unpack.unpack_archive('ftp://foo/file.gem', open('hello-0.1.gem'), self.tmpdir)
		self.assert_manifest('sha1new=fbd4827be7a18f9821790bdfd83132ee60d54647')
开发者ID:dabrahams,项目名称:zeroinstall,代码行数:3,代码来源:testunpack.py


示例11: testRPM

	def testRPM(self):
		unpack.unpack_archive('ftp://foo/file.rpm', open('dummy-1-1.noarch.rpm'), self.tmpdir)
		self.assert_manifest('sha1=7be9228c8fe2a1434d4d448c4cf130e3c8a4f53d')
开发者ID:dabrahams,项目名称:zeroinstall,代码行数:3,代码来源:testunpack.py


示例12: testDeb

	def testDeb(self):
		unpack.unpack_archive('ftp://foo/file.deb', open('dummy_1-1_all.deb'), self.tmpdir)
		self.assert_manifest('sha1new=2c725156ec3832b7980a3de2270b3d8d85d4e3ea')
开发者ID:dabrahams,项目名称:zeroinstall,代码行数:3,代码来源:testunpack.py


示例13: testExtractZip

 def testExtractZip(self):
     with open("HelloWorld.zip", "rb") as stream:
         unpack.unpack_archive("ftp://foo/file.zip", stream, self.tmpdir, extract="HelloWorld")
     self.assert_manifest("sha1=3ce644dc725f1d21cfcf02562c76f375944b266a")
开发者ID:res2k,项目名称:0install,代码行数:4,代码来源:testunpack.py


示例14: testExtractIllegal

 def testExtractIllegal(self):
     try:
         unpack.unpack_archive("ftp://foo/file.tgz", file("HelloWorld.tgz"), self.tmpdir, extract="Hello`World`")
         assert False
     except SafeException, ex:
         assert "Illegal" in str(ex)
开发者ID:pombredanne,项目名称:zero-install,代码行数:6,代码来源:testunpack.py


示例15: testTbz

 def testTbz(self):
     unpack.unpack_archive("ftp://foo/file.tar.bz2", file("HelloWorld.tar.bz2"), self.tmpdir)
     self.assert_manifest("sha1=3ce644dc725f1d21cfcf02562c76f375944b266a")
开发者ID:pombredanne,项目名称:zero-install,代码行数:3,代码来源:testunpack.py


示例16: testDmg

 def testDmg(self):
     with open("HelloWorld.dmg", "rb") as stream:
         unpack.unpack_archive("ftp://foo/file.dmg", stream, self.tmpdir)
     self.assert_manifest("sha1=3ce644dc725f1d21cfcf02562c76f375944b266a")
开发者ID:res2k,项目名称:0install,代码行数:4,代码来源:testunpack.py


示例17: testGem

 def testGem(self):
     with open("hello-0.1.gem", "rb") as stream:
         unpack.unpack_archive("ftp://foo/file.gem", stream, self.tmpdir)
     self.assert_manifest("sha1new=fbd4827be7a18f9821790bdfd83132ee60d54647")
开发者ID:res2k,项目名称:0install,代码行数:4,代码来源:testunpack.py


示例18: testLzma

 def testLzma(self):
     with open("HelloWorld.tar.lzma", "rb") as stream:
         unpack.unpack_archive("ftp://foo/file.tar.lzma", stream, self.tmpdir)
     self.assert_manifest("sha1new=290eb133e146635fe37713fd58174324a16d595f")
开发者ID:res2k,项目名称:0install,代码行数:4,代码来源:testunpack.py


示例19: testNonAsciiTgz

	def testNonAsciiTgz(self):
		with open('unicode.tar.gz', 'rb') as stream:
			unpack.unpack_archive('ftp://foo/file.tgz', stream, self.tmpdir)
		self.assert_manifest('sha1new=e42ffed02179169ef2fa14a46b0d9aea96a60c10')
开发者ID:linuxmidhun,项目名称:0install,代码行数:4,代码来源:testunpack.py


示例20: testDeb

 def testDeb(self):
     with open("dummy_1-1_all.deb", "rb") as stream:
         unpack.unpack_archive("ftp://foo/file.deb", stream, self.tmpdir)
     self.assert_manifest("sha1new=2c725156ec3832b7980a3de2270b3d8d85d4e3ea")
开发者ID:res2k,项目名称:0install,代码行数:4,代码来源:testunpack.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python zeroless.Client类代码示例发布时间:2022-05-26
下一篇:
Python tasks.wait_for_blocker函数代码示例发布时间: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