o
0iq @ sr d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ ej dv r+d dl
mZ ndZd dl
Z
d dl
mZmZmZmZ h dZee drRee j ee j dZeZeed p^ejjZeZd6ddZe d7ddZdd Z ze
j!Z!W n e"y e Z!Y nw dd Z#ze
j$Z$W n e"y G dd de%e&Z$Y nw G dd dej'dZ(e
j()e( G dd de(Z*e
j*)e* d dl+m,Z, e*)e, G dd de(Z-e
j-)e- G d d! d!e-Z.G d"d# d#e-Z/G d$d% d%e.Z0G d&d' d'e.Z1G d(d) d)e-Z2G d*d+ d+e1e0Z3G d,d- d-e*Z,G d.d/ d/e(Z4e
j4)e4 G d0d1 d1ej5Z6G d2d3 d3e4Z7G d4d5 d5e7Z8dS )8 N)
allocate_lock> Zwin32cygwin)setmode)__all__SEEK_SETSEEK_CURSEEK_END> r SEEK_HOLEi Zgettotalrefcountr
c C s4 | d u rd} t jjrdd l}|dt|d | S )Nlocaler z"'encoding' argument not specified.r )sysflagswarn_default_encodingwarningswarnEncodingWarning)encoding
stacklevelr r ,/opt/alt/python310/lib64/python3.10/_pyio.py
text_encoding+ s
r rTc C sr t | tst| } t | tttfstd| t |ts$td| t |ts/td| |d ur>t |ts>td| |d urMt |tsMtd| t|}|td s_t|t|kret d| d|v } d|v }
d |v }d
|v }d|v }
d|v }d
|v }d|v r| s|s|s|
rt ddd l
}|dtd d}
|r|rt d| |
| | dkrt d| s|
s|s|st d|r|d urt d|r|d urt d|r|d urt d|r|dkrdd l
}|dt
d t| | rdpd|
rdpd |rd pd |r
d
pd |
rdpd ||d}|}zd}|dks-|dk r1| r1d}d}|dk rVt}z
t| j}W n ttfyN Y nw |dkrV|}|dk r_t d |dkrn|rj|W S t d!|
rwt||}n| s|s|rt||}n|
rt||}nt d"| |}|r|W S t|}t|||||}|}||_|W S | )#Nzinvalid file: %rzinvalid mode: %rzinvalid buffering: %rinvalid encoding: %rinvalid errors: %rzaxrwb+tUxr wa+tbUz4mode U cannot be combined with 'x', 'w', 'a', or '+'r z'U' mode is deprecatedr
Tz'can't have text and binary mode at oncer z)can't have read/write/append mode at oncez/must have exactly one of read/write/append modez-binary mode doesn't take an encoding argumentz+binary mode doesn't take an errors argumentz+binary mode doesn't take a newline argumentzaline buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used )openerFr zinvalid buffering sizezcan't have unbuffered text I/Ozunknown mode: %r)
isinstanceintosfspathstrbytes TypeErrorsetlen
ValueErrorr r DeprecationWarningRuntimeWarningFileIOisattyDEFAULT_BUFFER_SIZEfstatfileno
st_blksizeOSErrorAttributeErrorBufferedRandomBufferedWriterBufferedReaderr
TextIOWrappermodeclose)filer= bufferingr errorsnewlineclosefdr$ ZmodesZcreatingZreadingZwritingZ appendingZupdatingtextZbinaryr rawresultline_bufferingZbsbufferr r r openH s
x
rI c C s" dd l }|dtd t| dS )Nr z(_pyio.open_code() may not be using hooksr
rb)r r r0 rI )pathr r r r _open_code_with_warning$ s
rL c C s0 | dkrdd l }|jdtdd tatS t| )NOpenWrapperr z+OpenWrapper is deprecated, use open insteadr
)r )r r r/ rI rM r8 )namer r r r __getattr__: s rO c @ s e Zd ZdS )UnsupportedOperationN)__name__
__module____qualname__r r r r rP O s rP c @ s e Zd Z dd Zd5ddZdd Zd6d d
Zdd Zd
Zdd Z dd Z
dd Zd6ddZdd Z
d6ddZdd Zd6ddZedd Zd6d d!Zd"d# Zd$d% Zd&d' Zd(d) Zd7d+d,Zd-d. Zd/d0 Zd6d1d2Zd3d4 ZdS )8IOBasec C s t d| jj|f )Nz%s.%s() not supported)rP __class__rQ )selfrN r r r _unsupportedu s
zIOBase._unsupportedr c C | d d S )NseekrW rV poswhencer r r rY | s
zIOBase.seekc C s | ddS Nr r )rY rV r r r tell zIOBase.tellNc C rX NtruncaterZ rV r\ r r r rc zIOBase.truncatec C | d S N_checkClosedr_ r r r flush s zIOBase.flushFc C s* | j sz
| W d| _ d S d| _ w d S )NT)_IOBase__closedrj r_ r r r r> s
zIOBase.closec C sV z| j }W n
ty Y d S w |rd S tr| d S z| W d S Y d S rg )closedr8 _IOBASE_EMITS_UNRAISABLEr> )rV rl r r r __del__ s
zIOBase.__del__c C dS NFr r_ r r r seekable s zIOBase.seekablec C $ | st|d u r
d|d S )NzFile or stream is not seekable.)rq rP rV msgr r r _checkSeekable zIOBase._checkSeekablec C ro rp r r_ r r r readable zIOBase.readablec C rr )NzFile or stream is not readable.)rw rP rs r r r _checkReadable rv zIOBase._checkReadablec C ro rp r r_ r r r writable rx zIOBase.writablec C rr )NzFile or stream is not writable.)rz rP rs r r r _checkWritable rv zIOBase._checkWritablec C | j S rg )rk r_ r r r rl s z
IOBase.closedc C s" | j rt|d u rd|d S NI/O operation on closed file.rl r. rs r r r ri s zIOBase._checkClosedc C s | | S rg rh r_ r r r __enter__ s zIOBase.__enter__c G rf rg )r> )rV argsr r r __exit__ ra zIOBase.__exit__c C rX )Nr5 rZ r_ r r r r5 z
IOBase.filenoc C s | dS rp rh r_ r r r r2 s z
IOBase.isattyr c s t dr fdd}ndd }d u rdnzj}W n ty, tdw | t }dk s=t|k rb | }|sJ t|S ||7 }|drX t|S dk s=t|k s=t|S ) Npeekc s> d} | s dS | dd pt| }dkrt|}|S )Nr
r )r findr- min)Z readaheadnrV sizer r
nreadahead0 s
z#IOBase.readline.