grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´iÃ0ã@s"ddlZddlZGdd„dƒZdS)éNc@speZdZddddddddœZddd„Zdd „Zd d „Zdd d „Zddd„Zddd„Z dd„Z dd„Z dd„Z dS)ÚTextFileérÚstrict)Ústrip_commentsÚ skip_blanksÚ lstrip_wsÚ rstrip_wsÚ join_linesÚ collapse_joinÚerrorsNcKs¨|dur|durtdƒ‚|j ¡D]0}||vr@t||||ƒq"t|||j|ƒq"| ¡D]}||jvr\td|ƒ‚q\|durŒ| |¡n||_||_d|_g|_ dS)Nz7you must supply either or both of 'filename' and 'file'zinvalid TextFile option '%s'r) Ú RuntimeErrorÚdefault_optionsÚkeysÚsetattrÚKeyErrorÚopenÚfilenameÚfileÚ current_lineÚlinebuf)ÚselfrrÚoptionsÚopt©rú+/usr/lib64/python3.9/distutils/text_file.pyÚ__init__Ns   zTextFile.__init__cCs&||_tj|jd|jd�|_d|_dS)NÚr)r r)rÚiorr rr)rrrrrrosz TextFile.opencCs$|j}d|_d|_d|_| ¡dS©N)rrrÚclose)rrrrrrvs zTextFile.closecCsjg}|dur|j}| |jd¡t|ttfƒrD| dt|ƒ¡n| d|¡| t|ƒ¡d |¡S)Nz, z lines %d-%d: z line %d: Ú)rÚappendrÚ isinstanceÚlistÚtupleÚstrÚjoin)rÚmsgÚlineZoutmsgrrrÚ gen_errorszTextFile.gen_errorcCstd| ||¡ƒ‚dS)Nzerror: )Ú ValueErrorr)©rr'r(rrrÚerror‹szTextFile.errorcCs tj d| ||¡d¡dS)Nz warning: Ú )ÚsysÚstderrÚwriter)r+rrrÚwarnŽsz TextFile.warncCsþ|jr|jd}|jd=|Sd}|j ¡}|dkr6d}|jr¬|r¬| d¡}|dkrTnX|dksl||ddkr |ddkr|dp~d}|d|…|}| ¡dkr¬q n | dd¡}|j�r|�r|durÐ| d ¡|S|j rÞ|  ¡}||}t |j t ƒ�r |j dd|j d<n|j |j dg|_ n:|du�r,dSt |j t ƒ�rL|j dd|_ n |j d|_ |j�rr|j�rr| ¡}n"|j�r„|  ¡}n|j�r”| ¡}|dk�s¨|dk�r²|j�r²q |j�rú|ddk�rÖ|dd…}q |d d…d k�rú|dd …d}q |S) Néÿÿÿÿr ú#rrú\r-z\#z2continuation line immediately precedes end-of-fileéþÿÿÿz\ )rrÚreadlinerÚfindÚstripÚreplacer r1r Úlstripr"rr#rrÚrstripr)rr(Z buildup_lineÚposZeolrrrr6˜sf      ÿ     zTextFile.readlinecCs(g}| ¡}|dur|S| |¡qdSr)r6r!)rÚlinesr(rrrÚ readliness zTextFile.readlinescCs|j |¡dSr)rr!)rr(rrrÚ unreadlineszTextFile.unreadline)NN)N)N)N) Ú__name__Ú __module__Ú __qualname__r rrrr)r,r1r6r>r?rrrrr s";ú !  x r)r.rrrrrrÚs