@@ -4545,11 +4545,18 @@ def PackArchiveFileFromTarFile(infile, outfile, compression="auto", compresswhol
45454545 if (not infile ):
45464546 return False
45474547 infile .seek (0 , 0 )
4548+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
4549+ try :
4550+ if (not tarfile .is_tarfile (infile )):
4551+ return False
4552+ except AttributeError :
4553+ if (not TarFileCheck (infile )):
4554+ return False
45484555 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
45494556 return False
45504557 elif (os .path .exists (infile ) and os .path .isfile (infile )):
45514558 try :
4552- if (not tarfile .TarFileCheck (infile )):
4559+ if (not tarfile .is_tarfile (infile )):
45534560 return False
45544561 except AttributeError :
45554562 if (not TarFileCheck (infile )):
@@ -4814,6 +4821,8 @@ def PackArchiveFileFromZipFile(infile, outfile, compression="auto", compresswhol
48144821 if (not infile ):
48154822 return False
48164823 infile .seek (0 , 0 )
4824+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
4825+ pass
48174826 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
48184827 return False
48194828 if (not zipfile .is_zipfile (infile )):
@@ -7289,11 +7298,18 @@ def TarFileToArrayAlt(infile, listonly=False, contentasfile=True, checksumtype="
72897298 if (not infile ):
72907299 return False
72917300 infile .seek (0 , 0 )
7301+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
7302+ try :
7303+ if (not tarfile .is_tarfile (infile )):
7304+ return False
7305+ except AttributeError :
7306+ if (not TarFileCheck (infile )):
7307+ return False
72927308 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
72937309 return False
72947310 elif (os .path .exists (infile ) and os .path .isfile (infile )):
72957311 try :
7296- if (not tarfile .TarFileCheck (infile )):
7312+ if (not tarfile .is_tarfile (infile )):
72977313 return False
72987314 except AttributeError :
72997315 if (not TarFileCheck (infile )):
@@ -7524,6 +7540,8 @@ def ZipFileToArrayAlt(infile, listonly=False, contentasfile=True, checksumtype="
75247540 if (not infile ):
75257541 return False
75267542 infile .seek (0 , 0 )
7543+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
7544+ pass
75277545 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
75287546 return False
75297547 if (not zipfile .is_zipfile (infile )):
@@ -8940,11 +8958,18 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
89408958 if (not infile ):
89418959 return False
89428960 infile .seek (0 , 0 )
8961+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
8962+ try :
8963+ if (not tarfile .is_tarfile (infile )):
8964+ return False
8965+ except AttributeError :
8966+ if (not TarFileCheck (infile )):
8967+ return False
89438968 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
89448969 return False
89458970 elif (os .path .exists (infile ) and os .path .isfile (infile )):
89468971 try :
8947- if (not tarfile .TarFileCheck (infile )):
8972+ if (not tarfile .is_tarfile (infile )):
89488973 return False
89498974 except AttributeError :
89508975 if (not TarFileCheck (infile )):
@@ -9054,6 +9079,8 @@ def ZipFileListFiles(infile, verbose=False, returnfp=False):
90549079 if (not infile ):
90559080 return False
90569081 infile .seek (0 , 0 )
9082+ elif (hasattr (infile , "read" ) or hasattr (infile , "write" )):
9083+ pass
90579084 elif (not os .path .exists (infile ) or not os .path .isfile (infile )):
90589085 return False
90599086 if (not zipfile .is_zipfile (infile )):
0 commit comments