a
i3 @ s g d Z ddlZddlZddlZddlT ddlmZmZ ddlZdZdZ dZ
G dd dejZddd
dddddddd
Z
ed
ddfddZeddfddZdS ))$
CHECK_NONECHECK_CRC32CHECK_CRC64CHECK_SHA256CHECK_ID_MAX
CHECK_UNKNOWNFILTER_LZMA1FILTER_LZMA2FILTER_DELTA
FILTER_X86FILTER_IA64
FILTER_ARMFILTER_ARMTHUMBFILTER_POWERPCFILTER_SPARCFORMAT_AUTO FORMAT_XZFORMAT_ALONE
FORMAT_RAWMF_HC3MF_HC4MF_BT2MF_BT3MF_BT4 MODE_FASTMODE_NORMALPRESET_DEFAULTPRESET_EXTREMELZMACompressorLZMADecompressorLZMAFile LZMAErroropencompress
decompressis_check_supported N)*)_encode_filter_properties_decode_filter_properties c @ s e Zd Zd!dddddddZdd Zed d
Zdd Zd
d Zdd Z dd Z
d"ddZd#ddZd$ddZ
d%ddZdd ZejfddZdd ZdS )&r Nrformatcheckpresetfiltersc C s& d | _ d| _t| _|dv rL|dkr*td|d ur:td|d u rFt}t}n@|dv r~|d u r`t}t}t ||||d| _
d| _ntd |t
|tttjfrd
|vr|d
7 }t||| _ d| _|| _n*t|dst|d
r|| _ || _ntd| jtkr"tj| j tt||d}t|| _d S )NF)r+ rbr, zACannot specify an integrity check when opening a file for readingzICannot specify a preset compression level when opening a file for reading)wwbaabxxbr- r% zInvalid mode: {!r}bTreadwritez6filename must be a str, bytes, file or PathLike object)trailing_errorr. r1 )_fp_closefp_MODE_CLOSED_mode
ValueErrorr
_MODE_READr _MODE_WRITEr _compressor_posr.
isinstancestrbytesosPathLikebuiltinsr! hasattr TypeError_compressionDecompressReaderr r ioBufferedReader_buffer) selffilenamemoder. r/ r0 r1 mode_coderaw rX /usr/lib64/python3.9/lzma.py__init__1 sF ,
zLZMAFile.__init__c C s | j tkrd S z~| j tkr,| j d | _n"| j tkrN| j| j d | _W z&| j
rb| j W d | _d| _
t| _ qd | _d| _
t| _ 0 n>z&| j
r| j W d | _d| _
t| _ nd | _d| _
t| _ 0 0 d S )NF)r@ r? rB rR closerC r= r; rD flushr> rS rX rX rY r[ s6
zLZMAFile.closec C s
| j tkS N)r@ r? r] rX rX rY closed s zLZMAFile.closedc C s | | j S r^ )_check_not_closedr= filenor] rX rX rY ra s zLZMAFile.filenoc C s | o| j S r^ )readablerR seekabler] rX rX rY rc s zLZMAFile.seekablec C s | | jtkS r^ )r` r@ rB r] rX rX rY rb s zLZMAFile.readablec C s | | jtkS r^ )r` r@ rC r] rX rX rY writable s zLZMAFile.writablec C s | | j|S r^ )_check_can_readrR peekrS sizerX rX rY rf s z
LZMAFile.peekc C s | | j|S r^ )re rR r: rg rX rX rY r: s z
LZMAFile.readc C s" | |dk rtj}| j|S )Nr% )re rP DEFAULT_BUFFER_SIZErR read1rg rX rX rY rj s zLZMAFile.read1c C s | | j|S r^ )re rR readlinerg rX rX rY rk s zLZMAFile.readlinec C sX | t|ttfr t|}nt|}|j}| j|}| j
| | j|7 _|S r^ )_check_can_writerF rH bytearraylen
memoryviewnbytesrD r" r= r; rE )rS datalength
compressedrX rX rY r; s
zLZMAFile.writec C s | | j||S r^ )_check_can_seekrR seek)rS offsetwhencerX rX rY ru s z
LZMAFile.seekc C s" | | jtkr| j S | jS r^ )r` r@ rB rR tellrE r] rX rX rY rx s
z
LZMAFile.tell)Nr+ )r, )r, )r, )r, )__name__
__module____qualname__rZ r[ propertyr_ ra rc rb rd rf r: rj rk r; rP SEEK_SETru rx rX rX rX rY r &