bgk ddlZddlZddlmZddlmZddlmZddlmZm Z  ddl Z dZ n #e $rdZ YnwxYwej dZej d Zd ed efd Zd ed efd Zddddededeedee ded df dZded efdZd#deded efdZGddZGddeZ d$dedee d ed!ed ef d"ZdS)%N)datetime) unified_diff)Path)OptionalTextIOFTz\+[^+]z-[^-] import_linereturnc|}|dr-|dd}|dd}n+|dr|dd}|S)Nfrom  import .import )strip startswithreplace)rs ]/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/isort/format.pyformat_simplifiedrs##%%Kg&&9!))'266 !))*c::    * *9!)))R88 c|}|dsc|dsNd|vrd|S|d}|d}dd|d|S|S)Nr rrr )rrsplitpopjoin)rpartsends rformat_naturalrs##%%K  ! !' * *6;3I3I)3T3T6 k ! !*[** *!!#&&iimm5sxx55555 r)output color_output file_input file_output file_pathrrc t||}|dnt|}t|tjn*tj|j}t|d|d|dz|dz|ttj}|D]} | | dS)aShows a unified_diff for the provided input and output against the provided file path. - **file_input**: A string that represents the contents of a file before changes. - **file_output**: A string that represents the contents of a file after changes. - **file_path**: A Path object that represents the file path of the file being changed. - **output**: A stream to output the diff to. If non is provided uses sys.stdout. - **color_output**: Use color in output if True. Nr T)keependsz:beforez:after)fromfiletofile fromfiledate tofiledate) create_terminal_printerstrrnow fromtimestampstatst_mtimer splitlines diff_line) r r!r"rrprinter file_name file_mtimeunified_diff_lineslines rshow_unified_diffr6+s &lF;;G'S^^I#+ 1G HXHXHa1b1bJ&t,,--Y&8#x|~~&& #  $  rcd}|dvrItd|d}|}|dvrdS|dvrtjd|dvIdS) N)yesynonquitqzApply suggested changes to 'z ' [y/n/q]? )r:r;F)r<r=T)inputlowersysexit)r"answers r$ask_whether_to_apply_changes_to_filerDLsv F < < <LiLLLMM [ 5 ] " " HQKKK < < < 4r contentline_separatorc||ddddd}|S)Nr   )r)rFrGs rremove_whitespacerKXs;oonb1199#rBBJJ6SUVVG NrcheZdZdZdZddededeefdZded dfd Z ded dfd Z d ed dfd Z dS) BasicPrinterERRORSUCCESSNerrorsuccessrcH|p tj|_||_||_dSN)rAstdoutrsuccess_message error_message)selfrPrQrs r__init__zBasicPrinter.__init__as&*  &"rmessager cpt|j|j||jdS)N)rQrYfile)printrUformatrOrrWrYs rrQzBasicPrinter.successfs7 d"))$,)PPW[Wbccccccrczt|j|j|tjdS)N)rPrYr[)r]rVr^rNrAstderrr_s rrPzBasicPrinter.erroris7 d ''dj''JJQTQ[\\\\\\rr5c:|j|dSrS)rwrite)rWr5s rr0zBasicPrinter.diff_linels $rrS) __name__ __module__ __qualname__rNrOr*rrrXrQrPr0rrrMrM]s EG##c#C#&9I#### dsdtdddd]S]T]]]] c d      rrMczeZdZdededeeffd Zed dedeedefd Zd eddfd Z xZ S) ColoramaPrinterrPrQrcPt||||dtjj|_|dtjj|_tjj|_ tjj|_ dS)N)rrNrO) superrX style_textcoloramaForeREDrNGREENrO ADDED_LINE REMOVED_LINE)rWrPrQr __class__s rrXzColoramaPrinter.__init__qsw 777__Whm.?@@ y(-2EFF "--$M-rNtextstyler cR||S||zttjjzSrS)r*rmStyle RESET_ALL)rtrus rrlzColoramaPrinter.style_text{s( =Kt|c(.":;;;;rr5cd}tjt|r|j}n!tjt|r|j}|j|||dSrS) rematchADDED_LINE_PATTERNrqREMOVED_LINE_PATTERNrrrrcrl)rWr5rus rr0zColoramaPrinter.diff_linesl 8& - - &OEE X*D 1 1 &%E $//$6677777rrS) rdrerfr*rrrX staticmethodrlr0 __classcell__)rss@rririps.c.C.&9I......<<F)r) colorama_unavailabler]rArarBrminitrirM)rrrPrQno_colorama_messages rr)r)s %  ,  ! 3333  # E""""38bw///l5RY[a>b>br)rE)Nr r )rzrArdifflibrpathlibrtypingrrrmr ImportErrorcompiler|r}r*rrboolr6rDrKrMrir)rgrrrst  ########!OOO!     RZ **!rz(++33      " $      ~  V          B C D    sC3         &88888l8886SU !&)9<LOs +55