CkPython
CkPython
Transition from BeginCompressStringENC to FirstChunk/LastChunk
Provides instructions for replacing deprecated BeginCompressStringENC method calls with using FirstChunk/LastChunk properties.Chilkat CkPython Downloads
import chilkat
success = False
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
sbCompressedBase64 = chilkat.CkStringBuilder()
compress = chilkat.CkCompression()
compress.put_Algorithm("deflate")
compress.put_Charset("utf-8")
compress.put_EncodingMode("base64")
sbIndex = chilkat.CkStringBuilder()
# ----------------------------------------------------------------------------------
# This is the deprecated way of compressing in chunks using Begin/More/End methods..
# ----------------------------------------------------------------------------------
for i in range(0,25):
# Note: It is possible (and normal) for a BeginCompress* or MoreCompress* method to return
# an empty string (or 0 bytes). When this happens, the input data is not lost. It will be flushed
# in a subsequent call.
sbIndex.Clear()
sbIndex.AppendInt(i)
if (i == 0):
sbCompressedBase64.Append(compress.beginCompressStringENC(sbIndex.getAsString()))
else:
sbCompressedBase64.Append(compress.moreCompressStringENC(sbIndex.getAsString()))
sbCompressedBase64.Append(compress.moreCompressStringENC(": This is a line of data to be compressed...\r\n"))
# Flush any remaining output.
sbCompressedBase64.Append(compress.endCompressStringENC())
print("The base64 encoded compressed text:")
print(sbCompressedBase64.getAsString())
# Decompress in one call:
originalText = compress.decompressStringENC(sbCompressedBase64.getAsString())
print(originalText)
# ----------------------------------------------------------------------------------
# This is new way of compressing in chunks using FirstChunk and LastChunk properties
# ----------------------------------------------------------------------------------
sbCompressedBase64.Clear()
compress.put_FirstChunk(True)
compress.put_LastChunk(False)
bdCompressed = chilkat.CkBinData()
sbUncompressedChunk = chilkat.CkStringBuilder()
for i in range(0,25):
if (i == 24):
compress.put_LastChunk(True)
sbUncompressedChunk.Clear()
sbUncompressedChunk.AppendInt(i)
sbUncompressedChunk.Append(": This is a line of data to be compressed...\r\n")
compress.CompressSb(sbUncompressedChunk,bdCompressed)
compress.put_FirstChunk(False)
print("The base64 encoded compressed text:")
print(bdCompressed.getEncoded("base64"))
# Decompress in one call:
originalText = compress.decompressStringENC(bdCompressed.getEncoded("base64"))
print(originalText)