Lines Matching refs:tarinfo

107         tarinfo = self.tar.getmember("ustar/regtype")
108 with self.tar.extractfile(tarinfo) as fobj:
110 self.assertEqual(len(data), tarinfo.size,
117 tarinfo = self.tar.getmember("ustar/regtype")
121 with self.tar.extractfile(tarinfo) as fobj:
135 tarinfo = self.tar.getmember("ustar/regtype")
138 with self.tar.extractfile(tarinfo) as fobj2:
149 tarinfo = self.tar.getmember("ustar/regtype")
150 with self.tar.extractfile(tarinfo) as fobj:
168 self.assertEqual(tarinfo.size, fobj.tell(),
172 fobj.seek(-tarinfo.size, 2)
237 def filter(tarinfo):
238 tarinfo.uid = tarinfo.gid = 100
239 return tarinfo
335 for tarinfo in tar.getmembers():
336 if 'reg' in tarinfo.name:
337 yield tarinfo
444 tarinfo = tarfile.TarInfo("foo")
445 tarinfo.size = len(data)
446 fobj.write(tarinfo.tobuf())
599 tarinfo = self.tar.getmember("misc/dirtype-old-v7")
600 self.assertEqual(tarinfo.type, tarfile.DIRTYPE,
613 for tarinfo in self.tar:
614 self.assertEqual(int(tarinfo.mtime), 0o7606136617,
615 "wrong mtime for %s" % tarinfo.name)
616 if not tarinfo.name.startswith("ustar/"):
618 self.assertEqual(tarinfo.uname, "tarfile",
619 "wrong uname for %s" % tarinfo.name)
656 for tarinfo in directories:
657 path = os.path.join(DIR, tarinfo.name)
660 self.assertEqual(tarinfo.mode & 0o777,
662 tarinfo.name)
670 format_mtime(tarinfo.mtime),
673 self.assertEqual(tarinfo.mtime, file_mtime, errmsg)
685 tarinfo = tar.getmember(dirtype)
686 tar.extract(tarinfo, path=DIR, filter='fully_trusted')
688 self.assertEqual(os.path.getmtime(extracted), tarinfo.mtime)
700 for tarinfo in directories:
701 path = DIR / tarinfo.name
702 self.assertEqual(os.path.getmtime(path), tarinfo.mtime)
709 tarinfo = tar.getmember(dirtype)
710 tar.extract(tarinfo, path=DIR, filter='fully_trusted')
712 self.assertEqual(os.path.getmtime(extracted), tarinfo.mtime)
785 for tarinfo in self.tar:
786 if not tarinfo.isreg():
788 with self.tar.extractfile(tarinfo) as fobj:
799 tarinfo = self.tar.next() # get "regtype" (can't use getmember)
800 with self.tar.extractfile(tarinfo) as fobj:
802 self.assertEqual(len(data), tarinfo.size,
913 def _test_member(self, tarinfo, chksum=None, **kwargs):
915 with self.tar.extractfile(tarinfo) as f:
917 "wrong sha256sum for %s" % tarinfo.name)
922 if "old-v7" not in tarinfo.name:
927 self.assertEqual(getattr(tarinfo, k), v,
928 "wrong value in %s field of %s" % (k, tarinfo.name))
931 tarinfo = self.tar.getmember("ustar/regtype")
932 self._test_member(tarinfo, size=7011, chksum=sha256_regtype)
935 tarinfo = self.tar.getmember("ustar/conttype")
936 self._test_member(tarinfo, size=7011, chksum=sha256_regtype)
939 tarinfo = self.tar.getmember("ustar/dirtype")
940 self._test_member(tarinfo, size=0)
943 tarinfo = self.tar.getmember("ustar/dirtype-with-size")
944 self._test_member(tarinfo, size=255)
947 tarinfo = self.tar.getmember("ustar/lnktype")
948 self._test_member(tarinfo, size=0, linkname="ustar/regtype")
951 tarinfo = self.tar.getmember("ustar/symtype")
952 self._test_member(tarinfo, size=0, linkname="regtype")
955 tarinfo = self.tar.getmember("ustar/blktype")
956 self._test_member(tarinfo, size=0, devmajor=3, devminor=0)
959 tarinfo = self.tar.getmember("ustar/chrtype")
960 self._test_member(tarinfo, size=0, devmajor=1, devminor=3)
963 tarinfo = self.tar.getmember("ustar/fifotype")
964 self._test_member(tarinfo, size=0)
967 tarinfo = self.tar.getmember("ustar/sparse")
968 self._test_member(tarinfo, size=86016, chksum=sha256_sparse)
971 tarinfo = self.tar.getmember("gnu/sparse")
972 self._test_member(tarinfo, size=86016, chksum=sha256_sparse)
975 tarinfo = self.tar.getmember("gnu/sparse-0.0")
976 self._test_member(tarinfo, size=86016, chksum=sha256_sparse)
979 tarinfo = self.tar.getmember("gnu/sparse-0.1")
980 self._test_member(tarinfo, size=86016, chksum=sha256_sparse)
983 tarinfo = self.tar.getmember("gnu/sparse-1.0")
984 self._test_member(tarinfo, size=86016, chksum=sha256_sparse)
987 tarinfo = self.tar.getmember("ustar/umlauts-"
989 self._test_member(tarinfo, size=7011, chksum=sha256_regtype)
996 tarinfo = self.tar.getmember("misc/regtype-old-v7")
997 self._test_member(tarinfo, size=7011, chksum=sha256_regtype)
1003 tarinfo = self.tar.getmember("pax/umlauts-"
1005 self._test_member(tarinfo, size=7011, chksum=sha256_regtype)
1014 tarinfo = self.tar.getmember(longname)
1017 self.assertNotEqual(tarinfo.type, tarfile.DIRTYPE,
1024 tarinfo = self.tar.getmember(longlink)
1027 self.assertEqual(tarinfo.linkname, longname, "linkname wrong")
1031 tarinfo = self.tar.getmember(longname)
1032 offset = tarinfo.offset
1045 tarinfo = tarfile.TarInfo.frombuf(fobj.read(512),
1047 self.assertEqual(tarinfo.type, self.longnametype)
1133 tarinfo = tar.getmember("pax/regtype1")
1134 self.assertEqual(tarinfo.uname, "foo")
1135 self.assertEqual(tarinfo.gname, "bar")
1136 self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"),
1139 tarinfo = tar.getmember("pax/regtype2")
1140 self.assertEqual(tarinfo.uname, "")
1141 self.assertEqual(tarinfo.gname, "bar")
1142 self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"),
1145 tarinfo = tar.getmember("pax/regtype3")
1146 self.assertEqual(tarinfo.uname, "tarfile")
1147 self.assertEqual(tarinfo.gname, "tarfile")
1148 self.assertEqual(tarinfo.pax_headers.get("VENDOR.umlauts"),
1157 tarinfo = tar.getmember("pax/regtype4")
1158 self.assertEqual(tarinfo.size, 7011)
1159 self.assertEqual(tarinfo.uid, 123)
1160 self.assertEqual(tarinfo.gid, 123)
1161 self.assertEqual(tarinfo.mtime, 1041808783.0)
1162 self.assertEqual(type(tarinfo.mtime), float)
1163 self.assertEqual(float(tarinfo.pax_headers["atime"]), 1041808783.0)
1164 self.assertEqual(float(tarinfo.pax_headers["ctime"]), 1041808783.0)
1285 tarinfo = tar.gettarinfo(path)
1286 self.assertEqual(tarinfo.size, 0)
1290 tarinfo = tar.gettarinfo(path)
1291 self.assertEqual(tarinfo.size, 3)
1301 tarinfo = tar.gettarinfo(path)
1302 self.assertEqual(tarinfo.size, 0)
1337 tarinfo = tar.gettarinfo(path)
1339 self.assertIsInstance(tarinfo.name, str)
1340 self.assertEqual(tarinfo.name, tarinfo2.name)
1341 self.assertEqual(tarinfo.size, 3)
1359 tarinfo = tar.gettarinfo(link)
1360 self.assertEqual(tarinfo.size, 0)
1374 tarinfo = tar.gettarinfo(path)
1375 self.assertEqual(tarinfo.size, 0)
1407 def filter(tarinfo):
1408 if os.path.basename(tarinfo.name) == "bar":
1410 tarinfo.uid = 123
1411 tarinfo.uname = "foo"
1412 return tarinfo
1426 for tarinfo in tar:
1427 self.assertEqual(tarinfo.uid, 123)
1428 self.assertEqual(tarinfo.uname, "foo")
1649 tarinfo = tarfile.TarInfo(name)
1651 tarinfo.linkname = link
1652 tarinfo.type = tarfile.LNKTYPE
1657 tar.addfile(tarinfo)
1670 self.assertEqual(tarinfo.name, member.name,
1672 self.assertEqual(tarinfo.linkname, member.linkname,
1906 tarinfo = self.tar.gettarinfo(self.foo)
1907 self.assertEqual(tarinfo.type, tarfile.REGTYPE,
1911 tarinfo = self.tar.gettarinfo(self.bar)
1912 self.assertEqual(tarinfo.type, tarfile.LNKTYPE,
1917 tarinfo = self.tar.gettarinfo(self.bar)
1918 self.assertEqual(tarinfo.type, tarfile.REGTYPE,
1926 tarinfo = tarfile.TarInfo(name)
1928 tarinfo.linkname = link
1929 tarinfo.type = tarfile.LNKTYPE
1933 tar.addfile(tarinfo)
2091 tarinfo = tarfile.TarInfo()
2093 tarinfo.name = "\xe4\xf6\xfc"
2094 self.assertRaises(UnicodeError, tar.addfile, tarinfo)
2096 tarinfo.name = "foo"
2097 tarinfo.uname = "\xe4\xf6\xfc"
2098 self.assertRaises(UnicodeError, tar.addfile, tarinfo)
2357 tarinfo = tarfile.TarInfo("0123456789" * 10)
2358 tarinfo.tobuf(tarfile.USTAR_FORMAT)
2361 tarinfo = tarfile.TarInfo("0123456789" * 10 + "0")
2362 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.USTAR_FORMAT)
2365 tarinfo = tarfile.TarInfo("123/" * 62 + "longname")
2366 tarinfo.tobuf(tarfile.USTAR_FORMAT)
2369 tarinfo = tarfile.TarInfo("1234567/" * 31 + "longname")
2370 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.USTAR_FORMAT)
2373 tarinfo = tarfile.TarInfo("123/" * 126 + "longname")
2374 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.USTAR_FORMAT)
2377 tarinfo = tarfile.TarInfo("longlink")
2378 tarinfo.linkname = "123/" * 126 + "longname"
2379 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.USTAR_FORMAT)
2382 tarinfo = tarfile.TarInfo("name")
2383 tarinfo.uid = 0o10000000
2384 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.USTAR_FORMAT)
2387 tarinfo = tarfile.TarInfo("123/" * 126 + "longname")
2388 tarinfo.tobuf(tarfile.GNU_FORMAT)
2390 tarinfo = tarfile.TarInfo("longlink")
2391 tarinfo.linkname = "123/" * 126 + "longname"
2392 tarinfo.tobuf(tarfile.GNU_FORMAT)
2395 tarinfo = tarfile.TarInfo("name")
2396 tarinfo.uid = 0o4000000000000000000
2397 self.assertRaises(ValueError, tarinfo.tobuf, tarfile.GNU_FORMAT)
2400 tarinfo = tarfile.TarInfo("123/" * 126 + "longname")
2401 tarinfo.tobuf(tarfile.PAX_FORMAT)
2403 tarinfo = tarfile.TarInfo("longlink")
2404 tarinfo.linkname = "123/" * 126 + "longname"
2405 tarinfo.tobuf(tarfile.PAX_FORMAT)
2407 tarinfo = tarfile.TarInfo("name")
2408 tarinfo.uid = 0o4000000000000000000
2409 tarinfo.tobuf(tarfile.PAX_FORMAT)
3146 tarinfo = tar.gettarinfo(tarname)
3148 tar.addfile(tarinfo)
3160 replaced = tarinfo.replace(**{attr_name: None})
3287 tarinfo = tarfile.TarInfo(name).replace(**kwargs)
3289 tarinfo.mode = _filemode_to_int(mode)
3292 tarinfo.linkname = str(symlink_to)
3295 tarinfo.linkname = str(hardlink_to)
3299 tarinfo.type = type
3300 if tarinfo.isreg():
3301 fileobj = io.BytesIO(bytes(tarinfo.size))
3304 self.tar_w.addfile(tarinfo, fileobj)
3675 tarinfo = tarfile.TarInfo('foo')
3676 tarinfo.type = special_type
3677 trusted = tarfile.fully_trusted_filter(tarinfo, '')
3678 self.assertIs(trusted, tarinfo)
3679 tar = tarfile.tar_filter(tarinfo, '')
3682 tarfile.data_filter(tarinfo, '')
3683 self.assertIsInstance(cm.exception.tarinfo, tarfile.TarInfo)
3684 self.assertEqual(cm.exception.tarinfo.name, 'foo')
3689 for tarinfo in tar.getmembers():
3690 filtered = tarfile.fully_trusted_filter(tarinfo, '')
3691 self.assertIs(filtered, tarinfo)
3698 for tarinfo in tar.getmembers():
3699 filtered = tarfile.tar_filter(tarinfo, '')
3700 self.assertIs(filtered.name, tarinfo.name)
3701 self.assertIs(filtered.type, tarinfo.type)
3707 for tarinfo in tar.getmembers():
3709 filtered = tarfile.data_filter(tarinfo, '')
3712 self.assertIs(filtered.name, tarinfo.name)
3713 self.assertIs(filtered.type, tarinfo.type)
3725 def strict_filter(tarinfo, path):
3726 if tarinfo.name == 'ustar/regtype':
3727 return tarinfo
3735 def strict_filter(tarinfo, path):
3736 if tarinfo.name == 'ustar/regtype':
3737 return tarinfo
3748 def extraction_filter(self, tarinfo, path):
3749 if tarinfo.name == 'ustar/regtype':
3750 return tarinfo
3765 def custom_filter(tarinfo, path):
3767 if tarinfo.name == 'move_this':
3768 return tarinfo.replace(name='moved')
3769 if tarinfo.name == 'ignore_this':
3771 return tarinfo
3796 def __call__(self, tarinfo, path):
3798 tarinfo = tarfile.data_filter(tarinfo, path)
3802 return tarinfo
3818 def extracterror_filter(tarinfo, path):
3820 def filtererror_filter(tarinfo, path):
3822 def oserror_filter(tarinfo, path):
3824 def tarerror_filter(tarinfo, path):
3826 def valueerror_filter(tarinfo, path):