U e5dÃ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¨|dkr|dkrtdƒ‚|j ¡D]0}||kr@t||||ƒq"t|||j|ƒq"| ¡D]}||jkr\td|ƒ‚q\|dkrŒ| |¡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)ÚselfrrZoptionsÚopt©rú+/usr/lib64/python3.8/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}|dkr|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|dkrÐ| d ¡|S|j rÞ|  ¡}||}t |j t ƒ�r |j dd|j d<n|j |j dg|_ n:|dk�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 r0r Úlstripr!rr"rrÚrstripr)rr'Z buildup_lineÚposZeolrrrr5˜sf      ÿ     zTextFile.readlinecCs(g}| ¡}|dkr|S| |¡qdSr)r5r )rÚlinesr'rrrÚ readliness zTextFile.readlinescCs|j |¡dSr)rr )rr'rrrÚ unreadlineszTextFile.unreadline)NN)N)N)N) Ú__name__Ú __module__Ú __qualname__r rrrr(r+r0r5r=r>rrrrr s";ú !  x r)r-rrrrrrÚs