This tool helps to extract data right from tar.gz
or just tar
archives with ObjectScript. Or compact any files/folders with tar format and make tar.gz
.
Import and compile file zUtils.FileBinaryTar.xml
to %SYS
namespace.
Or install with zpm
zpm "install isc-tar"
docker-compose up -d --build
Avialable in any namespace, code stored in %SYS.
Extract tar.gz
file
Set gzip = 1
Set extracted = ##class(%zUtils.FileBinaryTar).ExtractFile("/tmp/some.tgz", gzip)
Set tSC = extracted.FindPath("folder/subfolder/test.txt", .file)
Set fileContent = file.fileData
While 'fileContent.AtEnd {
/// read file from archive
}
Set tSC = extracted.ExtractTo("/tmp/some/place")
Compact folder/file to tar.gz
file
Set gzip = 1
Set archive = ##class(%zUtils.FileBinaryTar).Compact("/tmp/some/place", gzip, "/tmp/some.tgz")