python (3.12.0)

(root)/
lib/
python3.12/
idlelib/
__pycache__/
searchengine.cpython-312.opt-2.pyc

̑e	ddlZddlmZmZmZddlmZdZGddZdZdZ	d	Z
ed
k(rddlm
Z
e
dd
yy)N)	StringVar
BooleanVarTclError)
messageboxcT	t|dst||_|jS)N
_searchengine)hasattrSearchEnginer)roots H/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/idlelib/searchengine.pygetr
s,
4))$/cpeZdZ	dZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dd
ZddZddZddZy)r
c	||_t|d|_t|d|_t|d|_t|d|_t|d|_t|d|_y)NFT)	rrpatvarrrevarcasevarwordvarwrapvarbackvar)selfrs  r__init__zSearchEngine.__init__sd		b)e,
!$.!$.!$-!$.rc6|jjSN)rr
rs rgetpatzSearchEngine.getpat%s{{  rc:|jj|yr)rsetrpats  rsetpatzSearchEngine.setpat(src6|jjSr)rr
rs risrezSearchEngine.isre+szz~~rc6|jjSr)rr
rs riscasezSearchEngine.iscase.||!!rc6|jjSr)rr
rs riswordzSearchEngine.isword1r'rc6|jjSr)rr
rs riswrapzSearchEngine.iswrap4r'rc6|jjSr)rr
rs risbackzSearchEngine.isback7r'rcr	|jrtj|}|j|yr)r$reescaper"r s  rsetcookedpatzSearchEngine.setcookedpat<s'+99;))C.CCrc|j}|jstj|}|j	rd|z}|S)Nz\b%s\b)rr$r/r0r)r s  rgetcookedpatzSearchEngine.getcookedpatCs:kkmyy{))C.C;;=c/C
rcx	|j}|s|j|dy|j}d}|js|tj
z}	t	j||}|S#tj$r1}|j||j|jYd}~yd}~wwxYw)NzEmpty regular expressionr)
rreport_errorr3r&r/
IGNORECASEcompileerrormsgpos)rr!flagsproges     rgetprogzSearchEngine.getprogKs0kkmc#=>!{{}BMM)E	::c5)Dxx	c155!%%0	sA55B9'B44B9Ncdt|z}|r|dzt|z}||dzt|z}tjd||jy)NzError: z

Pattern: z	
Offset: zRegular expression error)master)strr	showerrorr)rr!r9cols    rr5zSearchEngine.report_error\sX#c("
%C0C?$s3x/C7"499	6rcR	|s|j}|sy|jj}t|\}}|j	r-|r|}n|}t|\}}	|j
||||	||}
|
S|r|}n|}t|\}}	|j||||	||}
|
Sr)r>rr

get_selectionr-get_line_colsearch_backwardsearch_forward)rtextr<okwrapfirstlaststartlinerCress           rsearch_textzSearchEngine.search_textfs	"<<>D||!#D)t;;=$U+ID#&&tT4dBGC

$U+ID#%%dD$T2FC
rc>d}|}|jd|zd|dzz}	|	r||j|	dd|}
|
r|s|
j|kDr||
fS|dz}|r||kDr	yd}d}|jd|zd|dzz}	|	s|rd}d}d}|jdd}	|	r|y)Nr%d.0z1.0z2.0)r
searchend)rrIr<rOrCrKrJwrapped	startlinecharsms           rrHzSearchEngine.search_forwards	$$q&(9:E#2J,A37N!8D4)+CBHHVd]Fd1f,=>ET. rcd}|}|jd|zd|dzz}		t||	dd|}
|
r|s|
j|kr||
fS|dz
}|r||kr	yd}|dkr;|s	yd}d}|jd}t	t
|j
d\}}|jd|zd|dzz}	t|	dz
})NrrSrTrUzend-1c.)r
search_reverserNindexmapintsplitlen)rrIr<rOrCrKrJrXrYrZr[r:s            rrGzSearchEngine.search_backwards	$$q&(9:tU3BZ5AS7N!8D4)+Bqy
jj*SYYs^4	cHHVd]Fd1f,=>Ee*q.C#rr)Nr)r)__name__
__module____qualname__rrr"r$r&r)r+r-r1r3r>r5rQrHrGrrr
r
sQF/! """"
"6&P,rr
c	|j|}|syd}|j\}}||krF||krA|}||k(r|dz}|j||}|s	|S|j\}}||kr||krA|S)NrT)rVspan)r<rZrCr[foundijs       rr^r^s	
EAE668DAq
c'a3h6!AKKq!Lvvx1c'a3hLrc		|jd}|jd}|s|jd}|s|}||fS#t$rdx}}Y*wxYw)Nz	sel.firstzsel.lastinsert)r_r)rIrLrMs   rrErEsh

;'zz*%

8$$;
s"A
AAcP	tt|jd\}}||fS)Nr])r`rarb)r_rOrCs   rrFrFs(BCS)*ID#9r__main__)mainz#idlelib.idle_test.test_searchengine)	verbosity)r/tkinterrrrrr
r
r^rErFrdunittestrqrgrr<module>rvsR-	33	ggT.z	.!<r