403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python2.6/site-packages/gnome_sudoku/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyc
!Jc@sddkZddkZddkZddkZddkZddklZddkZddkZgZdddfdddfd	d
dfdd
dfd
ddfdddfdddfgD]2Z	ee
gZe	D]Zeedq[q[Z
dZdZdZdeifdYZdefdYZdeeifdYZed joYeiZeid!eid"Zd#Zd$Zeeiei ndS(%iN(tsimple_debugi iJiiNiiii\iiiYii5ifiUiWiSiigo@cCs4|itd|itd|itdfS(Niiiii(tredtfloattgreentblue(tcolor((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytgtkcolor_to_rgbsi(g@tSudokuNumberGridcBs8eZddZdZdZdZdZRS(i	c	Cs>tid|d|dt|_||_h|_xt|iD]~}xut|iD]d}tid|i}||_	||_
|ii|||d||d||i||f<qYWqCWtii
|dt|ititi|_|ii|i|i|i|id|i|idS(Ntrowstcolumnsthomogeneoustupperit
obey_childs
size-allocate(tgtktTabletTruettablet
group_sizet__entries__tranget
number_boxtSudokuNumberBoxtxtytattachtAspectFramet__init__tFalsetset_shadow_typetSHADOW_NONEtEventBoxtebtaddtconnecttallocate_cbtshow_all(tselfRRRte((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR$s&!				$cCs|i|ijo
|i}n
|i}t||it}|djo
d}nt|do||ijodS|i|dS(Niit
small_spacing(twidththeightRRtSPACING_FACTORthasattrR&tchange_spacing(R$twtrecttsidetspacing((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR"8s
	

 cCs||_t|t|_|iit||iit|tti|i	}xSt
d|D]B}|ii||d|i|ii||d|iqpW|ii
|idS(Ni(R&tinttSMALL_TO_BIG_FACTORtbig_spacingRtset_row_spacingstset_col_spacingstmathtsqrtRRtset_row_spacingtset_col_spacingtset_border_width(R$R&tbox_sidetn((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR+Es	"cCs
|iiS(N(Rtfocus_child(R$((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytget_focused_entryPscCst|tjo.ytii|}WqAdG|GHdSXn|iiti||iiti||ii	ti||i
iti||i
iti||i
i	ti|x*|iiD]}|iti|qWdS(Nsset_bg_color handed Bad color(
ttypetstrR
tgdktcolor_parseRt	modify_bgtSTATE_NORMALtmodify_baset	modify_fgRRtvalues(R$RR%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytset_bg_colorSs		(t__name__t
__module__RR"R+R=RG(((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR"s
	
		tParallelDictcBs)eZdZdZdZdZRS(sA handy new sort of dictionary for tracking conflicts.

    pd = ParallelDict()
    pd[1] = [2, 3, 4] # 1 is linked with 2, 3 and 4
    pd -> {1:[2, 3, 4], 2:[1], 3:[1], 4:[1]}
    pd[2] = [1, 3, 4] # 2 is linked with 3 and 4 as well as 1
    pd -> {1: [2, 3, 4], 2:[3, 4], 3:[1, 2], 4:[1, 2]}
    Now for the cool part...
    del pd[1]
    pd -> {2: [2, 3], 3:[2], 4:[2]}

    Pretty neat, no?
    cGsti||dS(N(tdictR(R$targs((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRqscCsti||t|xc|D][}||joq n|i|o||i|q ti||t|gq WdS(N(RKt__setitem__tsetthas_keyR (R$tktvti((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRMts
cCs||}ti||x{|D]s}||joq!n|i|oI|||jo||i|n||pti||qq!q!WdS(N(RKt__delitem__ROtremove(R$RPRQRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRS~s

(RHRIt__doc__RRMRS(((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRJcs
		
tSudokuGameDisplaycBseZheieid*fd6eieid+fd6ZeZed,dedZ
dZdZedZ
dZdZd	Zd
ZedZedZed
Zhdd6dd6dZdZedZedZedZedZedZdZedZdZegdZeedZ dZ!edZ"edZ#ed Z$ed!d"Z%d,d#Z&d$Z'ed%Z(d&Z)d'Z*d,d(Z+d,d)Z,RS(-s
focus-changedspuzzle-finishedi	cCst|}d|_t|_d|_||_d|_g|_h|_h|_	t
ii|t
i|d||i||xm|iiD]\}|i|id|i|id|i|id|i|id|iqW|id|idS(NiRsundo-changetchangedsfocus-in-eventskey-press-events
focus-changed(R0thintsRtalways_show_hintst
auto_fillstshow_impossible_implicationstimpossible_hintstimpossibilitiesttrackerst__trackers_tracking__tgobjecttGObjectRRt
setup_gridRRFtshowR!tentry_callbacktfocus_callbacktkey_press_cbthighlight_cells(R$tgridRR[R%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs(								
cCsVtii|i}|i|i|i|}|o|ii|i	|ndS(N(
R
R@tkeyval_nametkeyvalt	go_aroundRRRtset_focus_childR(R$twidgetteventtkeytdest((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRfscCsd|id}}||f|dfjo||f}n||f|dfjo||f}nW||f|dfjo||f}n.||f|dfjo||f}ndS|S(sareturn the coordinate if we should go to the other side of the grid.
        Or else return None.iitUptDowntLefttRightN(RtNone(R$RRt	directiont	limit_mint	limit_maxRp((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRkscCs||_|iddS(Ns
focus-changed(tfocusedtemit(R$R%Rn((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRes	cCsN|iid}t|iiti}ti|}|d}|d}|djo|d}n|djo|d}n"|d}|djo
d}nti	|d|||_
ti|i
hddd	6|_ti|i
hdd	6|_
ti|i
hd
d	6|_ti|i
hdddd	6|_dS(Niiig?g?g?g?gQ?t	rotate_bygQ?(RRFRtstyletbgR
tSTATE_SELECTEDtcolorst
rgb_to_hsvt
hsv_to_rgbt	box_colortrotate_hue_rgbtbox_and_row_colort	row_colort	col_colortbox_and_col_color(R$tentryt
default_colorthsvtbox_stbox_v((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytget_highlight_colorss"






#cCs?||_|it|do|io|indS(NRy(tdo_highlight_cellstunhighlight_cellsR*RyRg(R$tval((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyttoggle_highlights	
cGs+x$|iiD]}|idqWdS(N(RRFtset_background_colorRu(R$RLR%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRscGs|ipdS|it|dp|in|ii|ii}}t|idpdSxX|ii|D]F\}}||f||fjo!|i	||fi
|iqyqyWxX|ii|D]F\}}||f||fjo!|i	||fi
|i
qqWx|ii|ii||fD]\}}||f||fjoi|i	||f}||jo|i
|iq||jo|i
|iq|i
|iq?q?WdS(NRt
col_coords(RRR*RRyRRRhRRRRt
row_coordsRt
box_coordst
box_by_coordsRRR(R$RLtmy_xtmy_yRRR%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRgs2

%%!

cCsOt|do;|i}|ip
|ioqK|i|dtndS(NRytinteractive(R*Ryt	read_onlytget_texttshow_hint_for_entryR(R$R((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt	show_hints
	c	Cs?|o
|i}n
|i}|ii|i|i}t|}|i|odig}|D]}|t	|qf~dig}|D]}|t	|q~}||i
jo |d||id7_q;nR|i
p7|i
djo |id7_|ddq;n|dddS(Nttbottom_textitX(tset_note_text_interactivet
set_note_textRhtpossible_valuesRRtlisttsorttjoinR?RRX(	R$RRt
set_methodtvalst_[1]RQt_[2]ttxt((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs"
	
.0

c
Csg}xt|iD]}xt|iD]}|iii||pf|i||fi}|oB|i||||i|||f|i	||dt
qq,q,WqW|S(sReset grid to its original setup.

        Return a list of items we removed so that callers can handle
        e.g. Undo properlyt
do_removal(RRRhtvirgint_get_Rt	get_valuetappendttrackers_for_pointRTR(R$tremovedRRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt
reset_grid$s(&Rttop_textRcCsg|_xt|iD]}xt|iD]s}|i||f}|i\}}|p|o:|ii||||ff|i||iq/q/WqW|iS(sRemove all notes.(RRRRt
get_note_textRRt
queue_draw(R$t
clear_argsRRR%ttoptbottom((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytclear_notes4s	
cCs|idhdd6dS(NRRR(R(R$((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytclear_hintsAscCsxrt|iD]a}xXt|iD]G}|i||f}|io|i||n|itq&WqWd|_|i	dS(N(
RRRRRTt
set_read_onlyRRuRhR(R$RRR%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt
blank_gridDs
	cCsKd|_d|_d|_h|_h|_|i|i||dS(Ni(RZRXR\R^R_RRb(R$RhR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytchange_gridOs					
c	Cs&|id|jo|id\}}n|d}}ttit|i}|i|d||og}|iD]}|t|q~}xzt|D]h}x_t|D]Q}	|d|	}
||
o2|ii	|	|o|i
|	|||
qqWqWndS(sLoad a game.

        A game is simply a two lined string where the first line represents our
        virgin self and line two represents our game-in-progress.
        s
RRi	N(RtsplitR0R5R6tlenRRRhRt	add_value(R$tgameRtin_progRRtcRFtrowtcoltindex((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt	load_gameYs


!-

"cCst|_t|_t|tio"ti|id|i	|_nti|d||_x^t
|D]P}xGt
|D]9}|ii||}|o|i|||qqWqoWt
|_dS(NR(Rtdoing_initial_setupRJt__error_pairs__t
isinstancetsudokut
SudokuGridtInteractiveSudokuRhRRRRR(R$RhRRRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRbps	"

cGs|ip]|io9|ii|i|io|ii|i|in|i|i|in|i||io|i|i|in|i	o|i
ndS(N(RRhRRRRTtentry_validateR[tmark_impossible_implicationsRYtupdate_all_hints(R$RmRL((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRds
&


cCsxt|iD]o}xft|iD]U}|i||f}|ioq&|io|iddq&|i|q&WqWdS(NRR(RRRRRRR(R$RRR%((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs

cGsJ|i}|i|i|i||iio|idndS(Nspuzzle-finished(RRRRRhtcheck_for_completenessRz(R$RmRLR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRscCsn|i||fit|ii|||}x"|D]}|i|itq9W||i||f<dS(sset error highlights on [x, y] and all related box.

        We think the error is caused by `value`. But the box at [x, y] could
        have a different value.N(Rtset_error_highlightRRhtfind_conflictsR(R$RRtvaluet	conflictstconflict((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytcomplain_conflictssc	
Cs|i||fi||io|i||fitn|ofx|D]W}|djon|i||fi|i||i|i|||fqPWnt|i	i
jooxl|i	iD]W\}}|oD|i||fi|i||i|i|||fqqWny|ii
|||tWn4tij
o%}|i|i|i|inX|i||fidS(sRAdd value val at position x, y.

        If tracker is True, we track it with tracker ID tracker.

        Otherwise, we use any currently tracking trackers to track our addition.

        Providing the tracker arg is mostly useful for e.g. undo/redo
        or removed items.

        To specify NO trackers, use trackers = [-1]
        iN(Rt	set_valueRRRt	set_colortget_tracker_colorR^RR_RFtitemsRhR Rt
ConflictErrorRRRRR(	R$RRRR^ttrackerRPRQterr((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs*

#%#)!c	Cs |i||f}|o7|io-|ii||o|ii||n|i||x|i||D]|}g}xH|i|D]9}|d|jo"|d|jo|i|qqWx"|D]}|i|i|qWqtW|io|i	dn|i
dS(soRemove x, y from our visible grid.

        If do_removal, remove it from our underlying grid as well.
        iiN(RRhRRTtremove_error_highlightRR^RRRtunset_color(	R$RRRR%ttRTtcrumbtr((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRTs"'"
cCs|ii||fo|i||f}|it|i||f}|i||f=xC|D]7}|ii|p|i|}|itqcqcWndS(sCremove error highlight from [x, y] and also all errors caused by itN(RRORRR(R$RRRterrors_removedtcoordtlinked_entry((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs

cCs|ii}g}xh|D]`\}}|i|d|d||i|d|d|f|io|i|qqW|o|id7_n|iio|idn|S(Niispuzzle-finished(	Rht	auto_fillRRR[RRZRRz(R$RWtretvaltcoordsR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRs
cCss|i}|pdS|ii|i|i}|o5|djo(|id|it|dndS(NiRi(R=Rhtauto_fill_for_xyRRtset_text_interactiveR?(R$R%tfilled((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytauto_fill_current_entrys
cCs|ipdS|ii||}|o^x[|D]O\}}|i||fit||f|ijo|id7_q2q2WnxH|iD]=\}}||f|jo|i||fitqqW||_dS(Ni(Rhtfind_impossible_implicationsRtset_impossibleRR]R\R(R$RRtimplications((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR
s

"icCsG|p
d}nx"|ii|o|d7}qWg|i|<|S(Nii(R^RO(R$t
identifier((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytcreate_trackers

csyo+tfd|ii}n%tfd|ii}g}|D]}||dqa~S(Ncsf|djS(i((R(RRR(s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt<lambda>)scsDtg}|dD](}||djo|djq~jS(ii(R(ttkrRR(RR(s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR.si(tfilterR^R(R$RRRttrack_for_pointRR((RRRs8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR%scCstt|jo	t|Std}xQ|tjoCtidddtidddtidddf}q)Wti||i|SdS(NiidgY@(RtTRACKER_COLORStrandomtrandintRR(R$Rtrandom_color((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyR2s	


cCs||i|<dS(s5Toggle tracking for tracker identified by identifier.N(R_(R$RR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyttoggle_tracker@scCsg}x|i|o|i|d\}}}|i||||i|||f|i|||io-|ii||o|ii||q	q	W|S(s1Delete all cells tracked by tracker ID identifer.i(R^RRRTRhR(R$RtretRRRQ((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytdelete_by_trackerEs( c
Cs
|i|}g}xt|iD]}xt|iD]}|ii||}|o|||f|jo|iii||os|i||||i|||f|i|||io-|ii||o|ii||qq9q9Wq#W|S(N(	R^RRRhRRRRRT(R$RttracksRRRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytdelete_except_for_trackerPs
( #cCsd|i||fi|i||p|ii||}n|i|i|||fdS(N(RRRRhRR^R(R$RRRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytadd_trackeras#cCsA|p|ii||}n|i|i|||fdS(N(RhRR^RT(R$RRRR((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytremove_trackergs((N(-RHRIR`tSIGNAL_RUN_LASTt	TYPE_NONEt__gsignals__RRRRuRRfRkReRRRRgRRRRRRRRRbRdRRRRRTRRRRRRRRRRRR(((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRVsX							
	

		'	


			t__main__sdelete-eventcCstd}ti||id
id|idid|id
it|idid|idid|idit|idid|idid|idit|idit|idid|idi	dd	dS(Niiigg?iit234t12(ii(gg?g(ii(ii(ii(ii(ggg?(ii(ii(ii(ggg?(ii(ii(ii(ii(
RtwindowR RRRRRRR(R((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyttest_number_gridps
c
sxddkl}t}|idti}ti}||ti}tidti	}|i
dd|i|fd}tidd	}|i
d||i||i|d
t
dt
|idd
ti|tiddklddddddd
}i||i|ddd}	|i|	ddS(Ni(t
SwappableAreatblacktstock_idtclickedcSstip
tiS((R	thideR
t	main_quit(R((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyRscs0ddddddd}i|dS(NttitletBartlabeltsublabelsBaz i(t
run_dialog(RLtmd(t
MessageDialogt	swallower(s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytrun_swallowed_dialogsRtDialogtfilltexpandtpaddingi(RRtFooRsBar is11 8 4 2 0 0 0 0 0
                  0 6 0 0 0 9 1 2 0
                  0 2 0 0 8 0 0 0 0
                  0 1 8 0 5 0 0 0 0
                  9 0 0 0 0 0 0 0 3
                  0 0 0 0 1 0 6 5 0
                  0 0 0 0 9 0 0 8 0
                  0 5 7 1 0 0 0 9 0
                  0 0 0 0 0 3 5 4 7i	(tdialog_swallowerRRVRGR
tVBoxtHBoxtToolbart
ToolButtont
STOCK_QUITR!R t
pack_startRR	R#tgtk_goodies.dialog_extrasRRR(
RtsgdtvbthbttbtbRtb2RR((RRs8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pytreproduce_foobared_renderings0	





	cCs:d}t|}|idti|tidS(Ns11 8 4 2 0 0 0 0 0
                  0 6 0 0 0 9 1 2 0
                  0 2 0 0 8 0 0 0 0
                  0 1 8 0 5 0 0 0 0
                  9 0 0 0 0 0 0 0 3
                  0 0 0 0 1 0 6 5 0
                  0 0 0 0 9 0 0 8 0
                  0 5 7 1 0 0 0 9 0
                  0 0 0 0 0 3 5 4 7R(RVRGR	R R#(RR'((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyttest_sudoku_games
	

(!R
R`RR5RRRRRtcolsttupleRRRRR)R1RRRKRJRaRVRHtWindowR	R!RR
R-R.R#tmain(((s8/usr/lib/python2.6/site-packages/gnome_sudoku/gsudoku.pyt<module>s<K	A-
		$	


Youez - 2016 - github.com/yon3zu
LinuXploit