26 lines
805 B
Python
26 lines
805 B
Python
|
|
from xic_extensions.gsz3_decompressor import GSZ3Decompressor, GSZ3DecompressionError
|
||
|
|
|
||
|
|
|
||
|
|
class CompressionError(Exception):
|
||
|
|
pass
|
||
|
|
|
||
|
|
|
||
|
|
class GXCompressor:
|
||
|
|
@staticmethod
|
||
|
|
def compress(text: str) -> bytes:
|
||
|
|
try:
|
||
|
|
return GSZ3Decompressor.compress(text)
|
||
|
|
except GSZ3DecompressionError as e:
|
||
|
|
raise CompressionError(f"Compression failed: {e}")
|
||
|
|
except Exception as e:
|
||
|
|
raise CompressionError(f"Compression failed: {e}")
|
||
|
|
|
||
|
|
@staticmethod
|
||
|
|
def decompress(data: bytes) -> str:
|
||
|
|
try:
|
||
|
|
return GSZ3Decompressor.decompress(data)
|
||
|
|
except GSZ3DecompressionError as e:
|
||
|
|
raise CompressionError(f"Decompression failed: {e}")
|
||
|
|
except Exception as e:
|
||
|
|
raise CompressionError(f"Decompression failed: {e}")
|