python (3.11.7)

(root)/
lib/
python3.11/
idlelib/
__pycache__/
query.cpython-311.pyc

e:dZddlZddlZddlZddlZddlmZmZddl	m
Z
mZmZm
Z
mZmZddlmZmZmZmZmZddl	mZddlmZddlmZGd	d
e
ZGddeZGd
deZGddeZGddeZGddeZ e!dkr)ddl"m#Z#e#dddddl$m%Z%e%eee dSdS)a|
Dialogs that query users and verify the answer before accepting.

Query is the generic base class for a popup dialog.
The user must either enter a valid answer or close the dialog.
Entries are validated when <Return> is entered or [Ok] is clicked.
Entries are ignored when [Cancel] or [X] are clicked.
The 'return value' is .result set to either a valid answer or None.

Subclass SectionName gets a name for a new config file section.
Configdialog uses it for new highlight theme and keybinding set names.
Subclass ModuleName gets a name for File => Open Module.
Subclass HelpSource gets menu item and path for additions to Help menu.
N)
executableplatform)Toplevel	StringVar
BooleanVarWES)FrameButtonEntryLabelCheckbutton)
filedialog)Font)
_setup_dialogc`eZdZdZdiddddZddZdZdd
ZdZddZ	dd
Z
fdZxZS)QueryzoBase class for getting verified answer from a user.

    For this base class, accept any non-blank string.
    Ftext0
used_names_htest_utestc||_||_||_||_t	j||||||||s|	t||jdkr|d|j
|d|j
|d|j
|d|j|d|j|||d||dz|dzz
z||s/|dz|dzz
nd	zfz|d
d
|sC||j|dSdS)
aCreate modal popup, return when destroyed.

        Additional subclass init must be done before this unless
        _utest=True is passed to suppress wait_window().

        title - string, title of popup dialog
        message - string, informational message to display
        text0 - initial value for entry
        used_names - names already in use
        _htest - bool, change box location when running htest
        _utest - bool, leave window hidden and not modal
        aquaz<Command-.>z<Key-Escape>WM_DELETE_WINDOWz<Key-Return>z
<KP_Enter>z+%d+%dF)heightwidthN)parentmessagerrr__init__withdrawtitle	transientgrab_setr_windowingsystembindcancelprotocolokcreate_widgetsupdate_idletasksgeometrywinfo_rootxwinfo_widthwinfo_reqwidthwinfo_rootywinfo_heightwinfo_reqheight	resizable	deiconifyentry	focus_setwait_window)selfr"r&r#rrrrs        A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/idlelib/query.pyr$zQuery.__init__&s;
$$'''



5v	MMOOOd F**IImT[111		.$+...

($+666		.$'***		,(((

&&((''))!+d.A.A.C.CA.EEG&&((!+f))++A-0D0D0F0Fq0HHH'*,				
e5111	NNJ  """		OKc	t|dx|_}|ddd|ddt	|dd	|j
}t
||j|_t|d|j|_
td
d|j|_
t	|dd|j
|_|ddddt|j
ddddtt zddg|jddddtt z|t%||d|j|_t%|d|j|_|jddd|jddddS)zCreate entry (rows, extras, buttons.

        Entry stuff on rows 0-2, spanning cols 0-2.
        Buttons on row 99, cols 1, 2.
        
)paddingrnews)columnrowsticky)weightwleftanchorjustifytext)r!textvariable
TkCaptionFontT)nameexistsroot redrN
foregroundfontrDrE
columnspanpadxrFrDrEr]r^rFpadyractive)rNdefaultcommandCancel)rNrcc)rDrEr^N)rframegridgrid_columnconfigurerr#rrentryvarr
r9rr"
error_fontentry_errorrr	create_extrarr-	button_okr+
button_cancel)r<ok_textrf
entrylabels    r=r.zQuery.create_widgetsYs#44444
U

!6
222
""1Q"///5f $...
!$
33
5GGG
O&*>>> SU&*o777	qaAAaHHH
qaAAac V		%	%	%QA!!%&qS		*	*	*	
GXtwHHH#Hdk;;;	
1"1555qbq99999r>cdSN)r<s r=rlzQuery.create_extra}sr>Nc$d|z|p|jd<dS)NzERROR: rN)rk)r<r#widgets   r=	showerrorzQuery.showerrors/87/B	#4#V,,,r>c|j}|s|ddS|S)zReturn non-blank entry or None.zblank line.N)r9getstriprv)r<r9s  r=entry_okzQuery.entry_oksC
  &&((	NN=)))4r>cd|jd<|}|||_|dS|jdS)zIf entry is valid, bind it to 'result' and destroy tk widget.

        Otherwise leave dialog open for user to correct entry or cancel.
        rrNN)rkrzresultdestroyr9r:)r<eventr9s   r=r-zQuery.oksX
$& 

DKLLNNNNN
J  """""r>c<d|_|dS)z0Set dialog result to None and destroy tk widget.N)r|r})r<r~s  r=r+zQuery.cancelsr>cp|tdSrr)grab_releasesuperr})r<	__class__s r=r}z
Query.destroys/
r>)r?rr)
__name__
__module____qualname____doc__r$r.rlrvrzr-r+r}
__classcell__rs@r=rr!s9;re11111f":":":":H!  CCCC####
r>rc0eZdZdZdddfd
ZdZxZS)SectionNamez*Get a name for a config file section name.FrrcVt||||||dS)N)rrrrr$)r<r"r&r#rrrrs       r=r$zSectionName.__init__s;
J &v		7	7	7	7	7r>c"|j}|s|ddSt	|dkr|ddS||jvr|ddS|S)z2Return sensible ConfigParser section name or None.no name specified.NrOz"name is longer than 30 characters.zname is already in use.)r9rxryrvlenr)r<rRs  r=rzzSectionName.entry_oksz~~%%''	NN/0004
YYr\\NN?@@@4
T_
$
$NN45554r>rrrrr$rzrrs@r=rrs^00!7777777
r>rc0eZdZdZdddfd
ZdZxZS)
ModuleNamez-Get a module name for Open Module menu entry.FrcVt||||||dS)Nrrrr)r<r"r&r#rrrrs       r=r$zModuleName.__init__s;
u$V		5	5	5	5	5r>c|j}|s|ddS	tj|}nA#ttf$r-}|t|Yd}~dSd}~wwxYw||ddSt|jtjj
s|ddS	|j|}ns#t$r|dYdSt$rE	|j}n'#t $r|dYYdSwxYwYnwxYw|S)z0Return entered module name as file path or None.rNzmodule not found.znot a source-based module.z%loader does not support get_filename.zloader failed to get filename.)r9rxryrv	importlibutil	find_spec
ValueErrorImportErrorstr
isinstanceloaderabcSourceLoaderget_filenameAttributeError	TypeError)r<rRspecmsg	file_paths     r=rzzModuleName.entry_oksz~~%%''	NN/0004	>++D11DDK(			NN3s88$$$44444	<NN.///4$+y}'ABB	NN78884	0066II			NNBCCC44			
 K4466		


?@@@ttt
		sTA&&B$7"BB$<DF9	FEFF<FFFFrrs@r=rrs^33!5555555
r>rceZdZdZdZdS)Gotoz1Get a positive line number for editor Go To Line.c	t|j}n&#t$r|dYdSwxYw|dkr|ddS|S)Nznot a base 10 integer.rznot a positive integer.)intr9rxrrv)r<linenos  r=rzz
Goto.entry_oks	))**FF			NN344444	Q;;NN45554
s&)AAN)rrrrrzrsr>r=rrs)77					r>rc\eZdZdZddidddfd
ZdZdZdZej	Z
d	Zd
Z	xZS)
HelpSourcez,Get menu name and help source for Help menu.rF)menuitemfilepathrrrc	j||_d}t|||||||dS)zGet menu entry and url/local file for Additional Help.

        User enters a name for the Help resource and a web url or file
        name. The user can browse for the file.
        zName for item on Help menu:rN)rrr$)
r<r"r&rrrrrr#rs
         r=r$zHelpSource.__init__sQ!
/
wh%fV		E	E	E	E	Er>c	V|j}t|ddd}t||j|_t||jd|_t|dd|j	}t|d
d|j	|_
|d
ddddd
gt|jd
dddttzdd
g|dddttz|j
d
dddttzdS)zAdd path widjets to rows 10-12.rIrJz,Help File Path: Enter URL or browse for filerK()rPr!Browse)rNr!rcrUrVrWrrArZr[)rDrEr]r^r`rFrr_)rDrEr^rFr\N)rfrrrpathvarr
pathrbrowse_filerj
path_errorrgrr	r
)r<rf	pathlabelbrowses    r=rlzHelpSource.create_extrasK
%VMOOO	 t}55%dl"EEE	HA $ 0222CE%)_666	aRAARF		!	!	!	aRAAacF		$	$	$1"1QqS999A2!!$%aC		)	)	)	)	)r>cXtj||||S)N)r"	filetypes)
initialdirinitialfile)rOpenshow)r<rinitdirinitfiles    r=askfilenamezHelpSource.askfilenames,di@@@X>>	?r>c.gd}|j}|r#tj|\}}nd}t
dddkrutjtjtd}tj	|stj
}ntj
}||||}|r|j|dSdS)N))z
HTML Filesz*.htm *.htmlTEXT)z	PDF Filesz*.pdfr)zWindows Help Filesz*.chm)z
Text Filesz*.txtr)z	All Files*rZwinDoc)
rrxosrsplitrjoindirnamerisdirgetcwdrset)r<rrdirbasefiles      r=rzHelpSource.browse_file!s   	|!!		"

d++ICD|u$$gll27??:#>#>FFw}}S))&)++Cikk	355	#LT"""""	#	#r>c|j}|s|d|jdS|dsd|dddkr
|dd}tj|s|d|jdStdkrd|z}|S)	z(Simple validity check for menu file pathzno help file path specified.N)zwww.httpr[zfile:zhelp file path does not exist.darwinzfile://)	rrxryrvr
startswithrrSr)r<rs  r=path_okzHelpSource.path_ok9sy}}$$&&	)NN94?KKK4!122	)BQBx7""ABBx7>>$''
?#000t8##!D(r>czd|jd<|}|}||dn||fS)z,Return apparently valid (name, path) or NonerrNN)ritem_okr)r<rRrs   r=rzzHelpSource.entry_okJs>"$||~~||~~|t|tt$Er>)
rrrrr$rlrrrrzrrrrs@r=rrs2235ruUEEEEEEE)))(???###,"G"FFFFFFFr>rc>eZdZdZgdddfd
ZdZdZdZxZS)	CustomRunzGet settings for custom run of module.

    1. Command line arguments to extend sys.argv.
    2. Whether to restart Shell or not.
    F)cli_argsrrcZd}t||||||dS)zcli_args is a list of strings.

        The list is assigned to the default Entry StringVar.
        The strings are displayed joined by ' ' for display.
        z$Command Line Arguments for sys.argv:rNr)r<r"r&rrrr#rs       r=r$zCustomRun.__init__YsC9
whf		.	.	.	.	.r>c|j}t|d|_t||jddd}t	|dd|j|_|d	d
ddd
|jd	dddddS)zAdd run mode on rows 10-12.T)valueFz
Restart shell)variableonvalueoffvaluerNrUrVrWrrArZr[rIr\rweN)rfr
restartvarrrrj
args_errorrg)r<rfrestarts   r=rlzCustomRun.create_extraes
$T666edot',?DDDCE%)_666	A2!!CHHHA2!!$(		*	*	*	*	*r>c|j}	tj|d}n:#t
$r-}|t|Yd}~dSd}~wwxYw|S)z.Return command line arg list or None if error.T)posixN)r9rxryshlexrrrvr)r<
cli_stringrerrs    r=cli_args_okzCustomRun.cli_args_okrsZ^^%%++--
	{:T:::HH			NN3s88$$$44444	sA
A;"A66A;cl|}|j}|dn||fS)z4Return apparently valid (cli_args, restart) or None.N)rrrx)r<rrs   r=rzzCustomRun.entry_ok|s:##%%/%%'''tth-@@r>)	rrrrr$rlrrzrrs@r=rrQs35e
.
.
.
.
.
.
.***AAAAAAAr>r__main__)mainzidlelib.idle_test.test_queryrF)	verbosityexit)run)&rimportlib.utilr
importlib.abcrrsysrrtkinterrrrrr	r
tkinter.ttkrrr
rrrtkinter.fontrtkinter.simpledialogrrrrrrrrunittestridlelib.idle_test.htestrrsr>r=<module>rsn

*%$$$$$$$				$$$$$$$$<<<<<<<<<<<<<<<<@@@@@@@@@@@@@@......HD%0''''''''T




5


 ZFZFZFZFZFZFZFZFx/A/A/A/A/A/A/A/AdzD	'15AAAA++++++Cz9%%%%%r>