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


Python tarfile.GNU_FORMAT属性代码示例

本文整理汇总了Python中tarfile.GNU_FORMAT属性的典型用法代码示例。如果您正苦于以下问题:Python tarfile.GNU_FORMAT属性的具体用法?Python tarfile.GNU_FORMAT怎么用?Python tarfile.GNU_FORMAT使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在tarfile的用法示例。


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

示例1: _test

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def _test(self, name, link=None):
        tarinfo = tarfile.TarInfo(name)
        if link:
            tarinfo.linkname = link
            tarinfo.type = tarfile.LNKTYPE

        tar = tarfile.open(tmpname, "w")
        tar.format = tarfile.GNU_FORMAT
        tar.addfile(tarinfo)

        v1 = self._calc_size(name, link)
        v2 = tar.offset
        self.assertTrue(v1 == v2, "GNU longname/longlink creation failed")

        tar.close()

        tar = tarfile.open(tmpname)
        member = tar.next()
        self.assertIsNotNone(member,
                "unable to read longname member")
        self.assertEqual(tarinfo.name, member.name,
                "unable to read longname member")
        self.assertEqual(tarinfo.linkname, member.linkname,
                "unable to read longname member") 
开发者ID:dxwu,项目名称:BinderFilter,代码行数:26,代码来源:test_tarfile.py

示例2: tarbuilder

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def tarbuilder(asset_list=None):
        """Create a tar file from rendered assets.

        Add each asset in ``asset_list`` to a tar file with the defined
        path and permission. The assets need to have the rendered_bytes field
        populated. Return a tarfile.TarFile.

        :param hostname: the hostname the tar is destined for
        :param balltype: the type of assets being included
        :param asset_list: list of objects.BootActionAsset instances
        """
        tarbytes = io.BytesIO()
        tarball = tarfile.open(
            mode='w:gz', fileobj=tarbytes, format=tarfile.GNU_FORMAT)
        asset_list = asset_list or []
        for a in asset_list:
            fileobj = io.BytesIO(a.rendered_bytes)
            tarasset = tarfile.TarInfo(name=a.path)
            tarasset.size = len(a.rendered_bytes)
            tarasset.mode = a.permissions if a.permissions else 0o600
            tarasset.uid = 0
            tarasset.gid = 0
            tarball.addfile(tarasset, fileobj=fileobj)
        tarball.close()
        return tarbytes.getvalue() 
开发者ID:att-comdev,项目名称:drydock,代码行数:27,代码来源:bootaction.py

示例3: tarbuilder

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def tarbuilder(asset_list=None):
        """Create a tar file from rendered assets.

        Add each asset in ``asset_list`` to a tar file with the defined
        path and permission. The assets need to have the rendered_bytes field
        populated. Return a tarfile.TarFile.

        :param hostname: the hostname the tar is destined for
        :param balltype: the type of assets being included
        :param asset_list: list of objects.BootActionAsset instances
        """
        tarbytes = io.BytesIO()
        tarball = tarfile.open(
            mode='w:gz', fileobj=tarbytes, format=tarfile.GNU_FORMAT)
        asset_list = [
            a for a in asset_list if a.type != BootactionAssetType.PackageList
        ]
        for a in asset_list:
            fileobj = io.BytesIO(a.rendered_bytes)
            tarasset = tarfile.TarInfo(name=a.path)
            tarasset.size = len(a.rendered_bytes)
            tarasset.mode = a.permissions if a.permissions else 0o600
            tarasset.uid = 0
            tarasset.gid = 0
            tarball.addfile(tarasset, fileobj=fileobj)
        tarball.close()
        return tarbytes.getvalue() 
开发者ID:airshipit,项目名称:drydock,代码行数:29,代码来源:bootaction.py

示例4: _test

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def _test(self, name, link=None):
        tarinfo = tarfile.TarInfo(name)
        if link:
            tarinfo.linkname = link
            tarinfo.type = tarfile.LNKTYPE

        tar = tarfile.open(tmpname, "w")
        try:
            tar.format = tarfile.GNU_FORMAT
            tar.addfile(tarinfo)

            v1 = self._calc_size(name, link)
            v2 = tar.offset
            self.assertTrue(v1 == v2, "GNU longname/longlink creation failed")
        finally:
            tar.close()

        tar = tarfile.open(tmpname)
        try:
            member = tar.next()
            self.assertIsNotNone(member,
                    "unable to read longname member")
            self.assertEqual(tarinfo.name, member.name,
                    "unable to read longname member")
            self.assertEqual(tarinfo.linkname, member.linkname,
                    "unable to read longname member")
        finally:
            tar.close() 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:30,代码来源:test_tarfile.py

示例5: test_gnu_limits

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def test_gnu_limits(self):
        tarinfo = tarfile.TarInfo("123/" * 126 + "longname")
        tarinfo.tobuf(tarfile.GNU_FORMAT)

        tarinfo = tarfile.TarInfo("longlink")
        tarinfo.linkname = "123/" * 126 + "longname"
        tarinfo.tobuf(tarfile.GNU_FORMAT)

        # uid >= 256 ** 7
        tarinfo = tarfile.TarInfo("name")
        tarinfo.uid = 04000000000000000000L
        self.assertRaises(ValueError, tarinfo.tobuf, tarfile.GNU_FORMAT) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:14,代码来源:test_tarfile.py

示例6: _test

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def _test(self, name, link=None):
        tarinfo = tarfile.TarInfo(name)
        if link:
            tarinfo.linkname = link
            tarinfo.type = tarfile.LNKTYPE

        tar = tarfile.open(tmpname, "w")
        try:
            tar.format = tarfile.GNU_FORMAT
            tar.addfile(tarinfo)

            v1 = self._calc_size(name, link)
            v2 = tar.offset
            self.assertEqual(v1, v2, "GNU longname/longlink creation failed")
        finally:
            tar.close()

        tar = tarfile.open(tmpname)
        try:
            member = tar.next()
            self.assertIsNotNone(member,
                    "unable to read longname member")
            self.assertEqual(tarinfo.name, member.name,
                    "unable to read longname member")
            self.assertEqual(tarinfo.linkname, member.linkname,
                    "unable to read longname member")
        finally:
            tar.close() 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:30,代码来源:test_tarfile.py

示例7: test_gnu_limits

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def test_gnu_limits(self):
        tarinfo = tarfile.TarInfo("123/" * 126 + "longname")
        tarinfo.tobuf(tarfile.GNU_FORMAT)

        tarinfo = tarfile.TarInfo("longlink")
        tarinfo.linkname = "123/" * 126 + "longname"
        tarinfo.tobuf(tarfile.GNU_FORMAT)

        # uid >= 256 ** 7
        tarinfo = tarfile.TarInfo("name")
        tarinfo.uid = 0o4000000000000000000
        self.assertRaises(ValueError, tarinfo.tobuf, tarfile.GNU_FORMAT) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:14,代码来源:test_tarfile.py

示例8: test_number_field_limits

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def test_number_field_limits(self):
        with self.assertRaises(ValueError):
            tarfile.itn(-1, 8, tarfile.USTAR_FORMAT)
        with self.assertRaises(ValueError):
            tarfile.itn(0o10000000, 8, tarfile.USTAR_FORMAT)
        with self.assertRaises(ValueError):
            tarfile.itn(-0x10000000001, 6, tarfile.GNU_FORMAT)
        with self.assertRaises(ValueError):
            tarfile.itn(0x10000000000, 6, tarfile.GNU_FORMAT) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:11,代码来源:test_tarfile.py

示例9: package_chaincode

# 需要导入模块: import tarfile [as 别名]
# 或者: from tarfile import GNU_FORMAT [as 别名]
def package_chaincode(cc_path, cc_type=CC_TYPE_GOLANG):
    """Package all chaincode env into a tar.gz file

    :param cc_path: path to the chaincode
    :param cc_type: chaincode type (Default value = CC_TYPE_GOLANG)
    :return: The chaincode pkg path or None
    """
    _logger.debug('Packaging chaincode path={}, chaincode type={}'.format(
        cc_path, cc_type))

    if cc_type == CC_TYPE_GOLANG:
        go_path = os.environ['GOPATH']
        if not cc_path:
            raise ValueError("Missing chaincode path parameter "
                             "in install proposal request")

        if not go_path:
            raise ValueError("No GOPATH env variable is found")

        proj_path = go_path + '/src/' + cc_path
        _logger.debug('Project path={}'.format(proj_path))

        if not os.listdir(proj_path):
            raise ValueError("No chaincode file found!")

        tar_stream = io.BytesIO()
        with zeroTimeContextManager():
            dist = tarfile.open(fileobj=tar_stream,
                                mode='w|gz', format=tarfile.GNU_FORMAT)
            for dir_path, _, file_names in os.walk(proj_path):
                for filename in file_names:
                    file_path = os.path.join(dir_path, filename)

                    with open(file_path, mode='rb') as f:
                        arcname = os.path.relpath(file_path, go_path)
                        tarinfo = dist.gettarinfo(file_path, arcname)
                        tarinfo = zeroTarInfo(tarinfo)
                        dist.addfile(tarinfo, f)

            dist.close()
            tar_stream.seek(0)
            code_content = tar_stream.read()

        if code_content:
            return code_content
        else:
            raise ValueError('No chaincode found')

    else:
        raise ValueError('Currently only support install GOLANG chaincode') 
开发者ID:hyperledger,项目名称:fabric-sdk-py,代码行数:52,代码来源:utils.py


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