PL iW ddlZddlZddlmZddlZddlZddlmZddlmZdZ dZ dZ ddeee fd e d e d efd Zdd ZdZdZej$ddZy)N)Path)Union)mockcLtjdd|jS)Nz [\s\r\n]+ )resubstrip)results Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mako/testing/helpers.pyflatten_resultr s 66,V , 2 2 44ctjdtjdd|Dcgc]%}|jdk7r|j'c}Scc}w)N\r?\nz +r)rsplitr r r xs r result_linesrsO(BFF5#v$>?  779?    s*Ac|tjd|Dcgc]}|jdk7s|c}Scc}w)Nrr)rrr rs r result_raw_linesrs-xx&1 E!QWWY"_A EE Es99filespec make_absolute check_existsreturnct|}|r|j|}|r|jstd||S)N)strictzNo file or directory at )rresolveexistsFileNotFoundError)rrrpaths r make_pathr"sC >D||<|0T[[]":8* EFF Krctj}|rtjt}|5|j dddy#1swYyxYw)N) contextlib nullcontextsuppressr unlink)r! missing_okcms r _unlink_pathr*'sE    !B  !2 3  s A  Acntj|}t|d|jd|S)NT)r()exist_ok)pathlibrr*mkdir)pathspecr!s r replace_file_with_dirr01s- << !D$'JJJ Krclt|d5}|jdddd|S#1swY|SxYw)Nwz* i am an artificial template just for you )openwrite)rfs r file_with_template_coder68s= h      O  Os)3c#Ktj|dzz }tjd5}||j_ddddy#1swYyxYww)Nizmako.codegen.time)timerpatch return_value)hoursrewound codegen_times r rewind_compile_timer>BsNiikUU]+G ' (L)0 & s0AA AAA)TF)F))r$r-rrr8typingrunittestrr rrstrboolr"r*r0r6contextmanagerr>rr rFs 5F  D#I     r