def __init__(self, stg): from hwp5.errors import InvalidOleStorageError from hwp5.errors import InvalidHwp5FileError from hwp5.storage import is_storage from hwp5.storage.ole import OleStorage if not is_storage(stg): try: stg = OleStorage(stg) except InvalidOleStorageError: raise InvalidHwp5FileError('Not an OLE2 Compound Binary File.') if not storage_is_hwp5file(stg): errormsg = 'Not an HWP Document format v5 storage.' raise InvalidHwp5FileError(errormsg) ItemConversionStorage.__init__(self, stg)
def __init__(self, stg): stg = Hwp5FileBase(stg) if stg.header.flags.password: stg = Hwp5PasswordProtectedDoc(stg) # TODO: 현재로선 decryption이 구현되지 않았으므로, # 레코드 파싱은 불가능하다. 적어도 encrypted stream에 # 직접 접근은 가능하도록, 다음 레이어들은 bypass한다. ItemConversionStorage.__init__(self, stg) return if stg.header.flags.distributable: stg = Hwp5DistDoc(stg) if stg.header.flags.compressed: stg = Hwp5Compression(stg) ItemConversionStorage.__init__(self, stg)
def __init__(self, stg, version): ItemConversionStorage.__init__(self, stg) self.version = version