Module refinery.units.formats.archive.xtcab
Expand source code Browse git
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from datetime import datetime
from refinery.units.formats.archive import ArchiveUnit
class xtcab(ArchiveUnit):
"""
Extract files from CAB (cabinet) archives.
"""
@ArchiveUnit.Requires('cabarchive', 'arc', 'default', 'extended')
def _cabarchive():
import cabarchive
return cabarchive
def unpack(self, data: bytearray):
arc = self._cabarchive.CabArchive(data)
for item in arc.find_files('*'):
yield self._pack(item.filename, datetime.combine(item.date, item.time), item.buf)
@classmethod
def handles(cls, data: bytearray):
return data.startswith(B'MSCF')
Classes
class xtcab (*paths, list=False, join_path=False, drop_path=False, fuzzy=0, exact=False, regex=False, path=b'path', date=b'date', pwd=b'')
-
Extract files from CAB (cabinet) archives.
Expand source code Browse git
class xtcab(ArchiveUnit): """ Extract files from CAB (cabinet) archives. """ @ArchiveUnit.Requires('cabarchive', 'arc', 'default', 'extended') def _cabarchive(): import cabarchive return cabarchive def unpack(self, data: bytearray): arc = self._cabarchive.CabArchive(data) for item in arc.find_files('*'): yield self._pack(item.filename, datetime.combine(item.date, item.time), item.buf) @classmethod def handles(cls, data: bytearray): return data.startswith(B'MSCF')
Ancestors
Class variables
var required_dependencies
var optional_dependencies
Methods
def unpack(self, data)
-
Expand source code Browse git
def unpack(self, data: bytearray): arc = self._cabarchive.CabArchive(data) for item in arc.find_files('*'): yield self._pack(item.filename, datetime.combine(item.date, item.time), item.buf)
Inherited members