MCPcopy Create free account
hub / github.com/Fadi002/de4py / _decode_compression

Method _decode_compression

de4py/engines/onyx/string_decoder.py:491–501  ·  view source on GitHub ↗
(self, source, name, fn)

Source from the content-addressed store, hash-verified

489 def _decode_bz2(self, source): return self._decode_compression(source,'bz2', bz2.decompress)
490
491 def _decode_compression(self, source, name, fn):
492 pattern = re.compile(
493 rf'{re.escape(name)}\.decompress\s*\(\s*(b"[^"]*"|b\'[^\']*\')\s*\)'
494 r'(?:\.decode\s*\([^)]*\))?'
495 )
496 def d(m):
497 try:
498 return repr(fn(ast.literal_eval(m.group(1))).decode('utf-8', errors='replace'))
499 except Exception:
500 return m.group(0)
501 return pattern.sub(d, source)
502
503 def _decode_rot13(self, source: str) -> str:
504 pattern = re.compile(r'codecs\.decode\s*\(\s*(["\'][^"\']+["\'])\s*,\s*["\']rot.?13["\']\s*\)')

Callers 3

_decode_zlibMethod · 0.95
_decode_lzmaMethod · 0.95
_decode_bz2Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected