f02 ddlZddlZGddZdS)NcbeZdZ ddddddddZddZdZdZdd Zdd Zdd Z d Z d Z dZ dS)TextFilerstrict)strip_comments skip_blanks lstrip_ws rstrip_ws join_lines collapse_joinerrorsNc  ||td|jD]:}||vrt||||t|||j|;|D]}||jvrt d|z|||n||_||_d|_g|_ dS)Nz7you must supply either or both of 'filename' and 'file'zinvalid TextFile option '%s'r) RuntimeErrordefault_optionskeyssetattrKeyErroropenfilenamefile current_linelinebuf)selfrroptionsopts :/opt/alt/python311/lib64/python3.11/distutils/text_file.py__init__zTextFile.__init__Ns 3   XYY Y',,.. > >Cg~~c73<0000c4#7#<====<<>> E EC$...=CDDD/ < IIh    $DMDI !D   cp ||_tj|jd|j|_d|_dS)Nr)r r)riorr rr)rrs rrz TextFile.openos9 B  GDM3t{CCC rch |j}d|_d|_d|_|dSN)rrrclose)rrs rr$zTextFile.closevs5 /y    rctg}||j}||jdzt|tt fr&|dt |zn|d|z|t |d|S)Nz, z lines %d-%d: z line %d: )rappendr isinstancelisttuplestrjoin)rmsglineoutmsgs r gen_errorzTextFile.gen_errors <$D dmd*+++ dT5M * * . MM/E$KK7 8 8 8 8 MM+, - - - c#hhwwvrcNtd|||z)Nzerror: ) ValueErrorr0rr-r.s rerrorzTextFile.errors#T^^C%>%>>???rcz tjd|||zdzdS)Nz warning:  )sysstderrwriter0r3s rwarnz TextFile.warns=  t~~c4'@'@@4GHHHHHrc |jr|jd}|jd=|Sd} |j}|dkrd}|jr|r~|d}|dkrnb|dks||dz dkr7|ddkrdpd}|d||z}|dkrn|d d}|jr|r||d |S|j r| }||z}t|j tr|j ddz|j d<nZ|j |j dzg|_ nC|dSt|j tr|j ddz|_ n|j dz|_ |jr|jr|}n7|jr| }n|jr|}|dks|dkr |jr|jr5|ddkr |dd}|d dd kr|dd dz}#|S) Nr&T#rr\r6z\#z2continuation line immediately precedes end-of-filez\ )rrreadlinerfindstripreplacer r:r lstripr(rr)r r rstripr)rr. buildup_lineposeols rr@zTextFile.readlines  < <#D R K a 9%%''Drzz"$ 4t$ 4iinn"99AXXc!e!4!4 8t+5;C#;,Dzz||r)) * <<s33D >< ><II,---''%);;==D#d*d/66@+/+)@D%%<4d/66>(,(9!(rRsY. T"T"T"T"T"T"T"T"T"T"r