]@sddlZddlZddlZddlZdddgZdddZiaddZdddZdd dZ dd d Z d d Z dS)Ngetline clearcache checkcachecCsEt||}d|ko,t|knr=||dSdSdS)N)getlineslen)filenamelinenomodule_globalslinesr ./opt/alt/python35/lib64/python3.5/linecache.pyrs" cCs iadS)N)cacher r r rrsc Csi|tkr4t|}t|dkr4t|dSyt||SWntk rdtgSYnXdS)Nr)rr updatecache MemoryErrorr)r r entryr r rr%s    rc Cs|dkr!ttj}n|tkr9|g}ndSx|D]}t|}t|dkriqD|\}}}}|dkrqDytj|}Wntk rt|=wDYnX||jks||jkrDt|=qDWdS)Nr) listrkeysrosstatOSErrorst_sizest_mtime)r filenamesrsizemtimer fullnamerr r rr5s&       c "Cs5|tkr)tt|dkr)t|=| sN|jdrR|jdrRgS|}ytj|}Wn0tk r|}t||r yt|d}Wnttfk rYnLX|dkrgSt|ddd|j D|ft|rcSsg|]}|dqS) r ).0liner r r qs zupdatecache..rr!r%)rr startswithendswithrrr lazycache ImportError splitlinespathisabssysjoin TypeErrorAttributeErrortokenizeopen readlinesrr) r r rrbasenamedatadirnamefpr rrr r rrRsV %   #      rcCs|tkr*tt|dkr&dSdS| sO|jdrS|jdrSdS|rd|kr|jd}|d}t|dd}|r|rtj||}|ft|s      A