MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/root/usr/lib/python2.4/Demo/tkinter/guido/ss1.pyo
m
=5Dc@sdZdkZdkZdkZdkZdkZdklZdddf\ZZ	Z
dZdZdZ
hee<e	e<e
e
<Zhed	<e	d
<e
d<Zhd	e<d
e	<de
<Zhed<e	d
<e
d
<ZdZdfdYZdfdYZdfdYZdefdYZdefdYZdefdYZdZdZdZdZdkZdfd YZd!Z d"Z!e"d#joe!ndS($sSS1 -- a spreadsheet.N(sexpattLEFTtCENTERtRIGHTcCs
|i|S(N(txtljusttn(RR((t,/usr/lib/python2.4/Demo/tkinter/guido/ss1.pyRscCs
|i|S(N(RtcenterR(RR((RRscCs
|i|S(N(RtrjustR(RR((RRstleftRtrighttwtecCs6d}x)|D]!}|dj	o||7}q
q
W|S(Ni(ttotaltseqRtNone(RRR
((Rtsums
tSheetcBstZdZdZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZdZdZdZdZdZdZdZdZdZRS(NcCsOh|_ti|_|iid}|i|_|i|_t	|_	dS(Nt__main__(
tselftcellstrexectRExect
add_moduletmt	cellvaluetcelltmulticellvalueR(RR((Rt__init__"s	cCs>|i||}t|do|i|iSn|SdS(Ntrecalc(RtgetcellRtyRthasattrRR(RRRR((RR*scCs||jo||}}n||jo||}}ng}xRt||dD]=}x4t||dD]}|i|i
||qpWqVW|S(Ni(tx1tx2ty1ty2RtrangeRRtappendRR(RR!R#R"R$RRR((RR1s

!cCs|ii||fS(N(RRtgetRR(RRR((RR<scCs||i||f<dS(N(RRRRR(RRRR((Rtsetcell?scCs.y|i||f=Wntj
onXdS(N(RRRRtKeyError(RRR((Rt	clearcellDscCs1x*|i||||D]}|i|=qWdS(N(RtselectcellsR!R#R"R$txyR(RR!R#R"R$R,((Rt
clearcellsJscCs|id|ti|dS(Ni(RR-R#tsystmaxintR$(RR#R$((Rt	clearrowsNscCs|i|d|tidS(Ni(RR-R!R"R.R/(RR!R"((RtclearcolumnsQscCs||jo||}}n||jo||}}ng}|iD]Y\}}||jo
|jno/||jo
|jno|||fqJqJ~S(N(	R!R"R#R$t_[1]RRRR(RR!R#R"R$RR2R((RR+Ts


cCs4|djo|djodSn||jo||}}n||jo||}}nh}
x|iD]\}}|i||f}	t|	do"|	i
||||||}	n||jo
|jno6||jo
|jno||7}||7}n|	|
||f<qnW|
|_dS(Nitrenumber(tdxtdyR!R"R#R$tnewRRRRRR R3(RR!R#R"R$R4R5RRRR6((Rt	movecells\s$


"<
cCs&|id|titid|dS(Ni(RR7RR.R/R(RRR((Rt
insertrowsoscCs`||jo||}}n|i|||id|dtitid||ddS(Nii(R#R$RR0R7R.R/(RR#R$((Rt
deleterowsss
cCs&|i|dtiti|ddS(Ni(RR7RR.R/R(RRR((Rt
insertcolumnsyscCs`||jo||}}n|i|||i|ddtiti||dddS(Nii(R!R"RR-R7R.R/(RR!R"((Rt
deletecolumns}s
cCsLd}}x5|iD]*\}}t||}t||}qW||fS(Ni(tmaxxtmaxyRRRRtmax(RR<R=RR((Rtgetsizes

cCs<x5|iiD]$}t|do|iqqWdS(Ntreset(RRt
itervaluesRR R@(RR((RR@scCsL|ix;|iiD]*}t|do|i|iqqWdS(NR(RR@RRARR RR(RR((RRs

cCs|i\}}|d|d}}dg|}	h}
xZtd|D]I}
t
|
tf|
|
df<\}}t|	|
t||	|
<qJWxZtd|D]I}t|tf|
d|f<\}}t|	dt||	d<qWx|iiD]\\}
}}|
djp
|djoqnt|do|i|int|do|i\}}n-t|}t|to
t}nt}||f|
|
|f<t|	|
t||	|
<qWd}x;t|D]-}
|o|d7}n|d|	|
7}qWxt|D]}d}xrt|D]d}
|
i|
|fp
dtf\}}t|||	|
}|o|d7}n||7}qNW|GH|djo	|GHq5q5WdS(	NiiRtformattt+t-t|(RR?R<R=twidththeighttcolwidthtfullR%Rtcolnum2nameRttextt	alignmentR>tlenRtstrRt	iteritemsRR RRRBt
isinstanceRtseptlineR'talign2action(RRRRLRHRMR<R=RRGRIRJRSRR((Rtdisplays^
&!&!
!


(
cCsdg}xp|iiD]_\\}}}t|do|i}ndt
i|}|id|||fqW|iddi
|S(Ns
<spreadsheet>txmls<value>%s</value>s%<cell row="%s" col="%s">
  %s
</cell>s</spreadsheet>s
(toutRRRPRRRR RVtcellxmltcgitescapeR&tjoin(RRXRRRRW((RRVs	
cCs_|i}t|d}|i||o"|ido|idn|idS(NRs
(	RRVRLtopentfilenametftwritetendswithtclose(RR]RLR^((Rtsaves
cCs0t|d}t|i||idS(Ntr(R\R]R^tSheetParserRt	parsefileRa(RR]R^((Rtloads(t__name__t
__module__RRRRR(R*R-R0R1R+R7R8R9R:R;R?R@RRURVRbRf(((RR s,																			2		RdcBstZdZdZdZdZdZdZdZeZ	dZ
d	Zd
ZdZ
dZd
ZdZdZRS(NcCs
||_dS(N(tsheetR(RRi((RRscCsAti}|i|_|i|_|i|_	|i
|dS(N(texpattParserCreatetparserRtstartelementtStartElementHandlert
endelementtEndElementHandlertdatatCharacterDataHandlert	ParseFileR^(RR^Rl((RRes
cCset|d|d}|o;x*|iD]\}}t	|||<q*W||ng|_
dS(Ntstart_(tgetattrRttagRtmethodtattrsRPtkeytvalueROttexts(RRvRxRzRyRw((RRms
cCs t|}|ii|dS(N(RORLRR{R&(RRL((RRqscCs;t|d|d}|o|di|indS(Ntend_RC(RuRRvRRwR[R{(RRvRw((RRoscCs4t|id|_t|id|_dS(Ntrowtcol(tintRxR'RRR(RRx((Rt
start_cellscCs1|id|_ti|id|_dS(NRBtalign(RxR'Rtfmtt	xml2alignRM(RRx((Rtstart_valuescCs*yt||_Wnd|_nXdS(N(RRLRRzR(RRL((Rtend_intscCs*yt||_Wnd|_nXdS(N(tlongRLRRzR(RRL((Rtend_long
scCs*yt||_Wnd|_nXdS(N(tfloatRLRRzR(RRL((Rt
end_doublescCs*yt||_Wnd|_nXdS(N(tcomplexRLRRzR(RRL((Rtend_complexscCs$y
||_Wnd|_nXdS(N(RLRRzR(RRL((Rt
end_strings
cCst|ito|i|_npt|ito0t|i|ipd|ipt	|_n-t
|i|ipd|ipt|_dS(Ns%s(RQRRztBaseCellRROt
StringCellRRMRtNumericCellR(RRL((Rt	end_value%s	
	
cCs-t||ipd|ipt|_dS(Ns%s(tFormulaCellRLRRRMRR(RRL((Rtend_formula1s
cCs#|ii|i|i|idS(N(RRiR(RRR(RRL((Rtend_cell6s(RgRhRReRmRqRoRRt
start_formulaRRRRRRRR(((RRds 														RcBstZdZRS(N(RgRhRR(((RR9sRcBsVtZdedZdZdZdZdZdZdZ	d	Z
RS(
Ns%scCs||_||_||_dS(N(RzRRRM(RRzRRM((RRGs
		cCs|iS(N(RRz(RR((RRNscCs:y|i|i}Wnt|i}nX||ifS(N(RRRzRLRORM(RRL((RRBQs
cCs=t|dt|ii}dt|i|i|fS(Nt_xml_s(<value align="%s" format="%s">%s</value>(	RuRttypeRzRgRwt	align2xmlRMR(RRw((RRVXscCsGdd|ijoddjnod|iSn|iSdS(Niis
<int>%s</int>(RRzt	_xml_long(R((Rt_xml_int_s*cCsd|iS(Ns<long>%s</long>(RRz(R((RRescCsdt|iS(Ns<double>%s</double>(treprRRz(R((Rt
_xml_floathscCsdt|iS(Ns<complex>%s</double>(RRRz(R((Rt_xml_complexks(RgRhRRRRBRVRRRR(((RREs						RcBs2tZdedZdZdZdZRS(Ns%scCs||_||_||_dS(N(RLRRRM(RRLRRM((RRps
		cCs|iS(N(RRL(RR((RRwscCs|i|ifS(N(RRLRM(R((RRBzscCs-d}|t|i|iti|ifS(Ns9<value align="%s" format="%s"><string>%s</string></value>(tsRRRMRRYRZRL(RR((RRV}s(RgRhRRRRBRV(((RRns		RcBsDtZdedZdZdZdZdZdZRS(Ns%scCs;||_t|i|_||_||_|idS(N(tformulaRt	translatet
translatedRRMR@(RRRRM((RRs			cCs
d|_dS(N(RRRz(R((RR@scCs|idjoy4|iddt|i|id|_Wqti	d}t|do|i|_qt
||_qXn|iS(Ns from __future__ import division
s__value__ = eval(%s)t	__value__iRg(RRzRRtr_execRRtr_evalR.texc_infotexcR RgRO(RRR((RRscCs:y|i|i}Wnt|i}nX||ifS(N(RRRzRLRORM(RRL((RRBs
cCsdt|i|i|ifS(Ns,<formula align="%s" format="%s">%s</formula>(RRRMRR(R((RRVscCsg}
xtid|iD]}
tid|
}|dj	o|i	\}	}t|	}t|}||jo
|jno9||jo
|jnot||||}
qn|
i|
qWtdi|
|i|iS(Ns(\w+)s^([A-Z]+)([1-9][0-9]*)$RC(RWtretsplitRRtparttmatchRRtgroupstsxtsytcolname2numRRRR!R"R#R$tcellnameR4R5R&RR[RRM(RR!R#R"R$R4R5RRRRRRRW((RR3s
<(	RgRhRRR@RRBRVR3(((RRs				c	Csg}xtid|D]}tid|}|djo|i|q|i	\}}}}t|}|djod||f}n#t|}d||||f}|i|qWdi|S(sTranslate a formula containing fancy cell names to valid Python code.

    Examples:
        B4 -> cell(2, 4)
        B4:Z100 -> cells(2, 4, 26, 100)
    s(\w+(?::\w+)?)s2^([A-Z]+)([1-9][0-9]*)(?::([A-Z]+)([1-9][0-9]*))?$scell(%s, %s)scells(%s, %s, %s, %s)RCN(RWRRRRRRRR&RR!R#R"R$RRR[(	RR$RR"RRR#R!RW((RRs

cCst|t|S(sETranslate a cell coordinate to a fancy cell name (e.g. (1, 1)->'A1').N(RKRROR(RR((RRscCsI|i}d}x0|D](}|dt|tdd}qW|S(sCTranslate a column name to number (e.g. 'A'->1, 'Z'->26, 'AA'->27).iitAiN(RtupperRtctord(RRR((RRs&cCsLd}x?|o7t|dd\}}t|td|}q	W|S(s6Translate a column number to name (e.g. 1->'A', etc.).RCiiRN(RRtdivmodRtchrR(RRR((RRKstSheetGUIcBstZdZddddZdZdZdZdZd	Zd
Z	dZ
dZd
ZdZ
dZeZdZdZdZdZdZdZdZdZdZdZdZdZRS(s7Beginnings of a GUI for a spreadsheet.

    TO DO:
    - clear multiple cells
    - Insert, clear, remove rows or columns
    - Show new contents while typing
    - Scroll bars
    - Grow grid when window is grown
    - Proper menus
    - Undo, redo
    - Cut, copy and paste
    - Formatting and alignment
    s
sheet1.xmli
icCs,||_t|_tii|o|ii|n|ii\}}t||}t||}ti|_|iid|iti|idddd|_ti|i|_ti|iddd	|i|_ti|i|_|iid
ddd
dd|iid
d|iid
d|iid
ddd
dd|iid|i|iid|i|iid|i|iid|i|iid|i |iid|i!|i"||d|_$d|_%|i&d
d
|i'dS(slConstructor.

        Load the sheet from the filename argument.
        Set up the Tk widget tree.
        sSpreadsheet: %sRLtA1tfontt	helveticaitboldtSavetcommandtsidetbottomtexpanditfilltbothR	R
Rs<Return>s<Shift-Return>s<Tab>s<Shift-Tab>s<Delete>s<Escape>N(RiR((R]RRRitostpathtisfileRfR?R<R=R>trowstcolumnstTktroottwm_titletLabeltbeacontEntrytentrytButtonRbt
savebuttontFrametcellgridtpacktbindtreturn_eventtshift_return_eventt	tab_eventtshift_tab_eventtdelete_eventtescape_eventtmakegridRt	currentxytcornerxyt
setcurrenttsync(RR]RRR<R=((RRs>			cCsu|i|ijo.|idj	o|ii|i|in|ii|i|i|ii	dddS(Nitendtbreak(
RRRRRiR-R*RRtdelete(Rtevent((RR's#
cCs#|i\}}|i||dS(N(RRRRt
load_entry(RRRR((RR0scCs|ii||}|djo
d}n4t|t	od|i
}n|i\}}|i
idd|i
id||i
idddS(NRCt=iR(RRiRRRRRRLRQRRRBRMRRtinserttselection_range(RRRRLRRM((RR4s

c
Cs||_||_h|_ti|idd}|idddddd|i	d|i
xtd	|d	D]}|ii
|d
dti|idt|dd}|id|dddd
||i|df<||_d|_|i	d|i|i	d|i|i	d|i|i	d|iqvWxtd	|d	D]}ti|idt|dd}|iddd|dd
||id|f<d|_||_|i	d|i|i	d|i|i	d|i|i	d|iq[Wxtd	|d	D]}xtd	|d	D]}ti|idddddd}|id|d|dd||i||f<||_||_|i	d|i|i	d|i|i	d|i|i	d|iqDWq*WdS(sHelper to create the grid of GUI cells.

        The edge (x==0 or y==0) is filled with labels; the rest is real cells.
        trelieftraisedtcolumniR}tstickytNSWEs<ButtonPress-1>itminsizei@RLtWEs<B1-Motion>s<ButtonRelease-1>s<Shift-Button-1>tsunkentbgtwhitetfgtblackN(RRRt	gridcellsRRRRtgrid_configureRt	selectallR%Rtgrid_columnconfigureRKt_SheetGUI__xt_SheetGUI__ytselectcolumntextendcolumnRROt	selectrowt	extendrowtpresstmotiontrelease(RRRRRR((RR@sX			$		$				cCs*|idd|ititidS(Ni(RRt	setcornerR.R/(RR((RRrscCs<|i|\}}|i|d|i|tidS(Ni(	RtwhichxyRRRRRR.R/(RRRR((RRvscCsT|i|\}}|djo.|i|idd|i|ti	ndS(Nii(
RRRRRRRRR.R/(RRRR((RR{s
cCs<|i|\}}|id||iti|dS(Ni(	RRRRRRRR.R/(RRRR((RRscCsT|i|\}}|djo.|id|id|iti	|ndS(Nii(
RRRRRRRRR.R/(RRRR((RRs
cCsG|i|\}}|djo!|djo|i||ndS(Ni(RRRRRR(RRRR((RRscCsG|i|\}}|djo!|djo|i||ndS(Ni(RRRRRR(RRRR((RRscCsm|ii|i|i}|dj	oAt|t	i
o.y|i|ifSWqit
j
oqiXndS(Ni(ii(RRtwinfo_containingRtx_rootty_rootRRRQRRRRtAttributeError(RRR((RRs 	cCs|ii|idS(N(RRiRbR](R((RRbscCs|idj	o|in|it|||id<|i	|||i
i||f|_d|_|i
i|i}|dj	od|d<ndS(sMake (x, y) the current cell.RLtyellowRN(RRRtchange_cellt
clearfocusRRRRRRt	focus_setRRR'tgridcell(RRRR	((RRs

	
c	Csu|idjp|i||fjo|i||dSn|i||f|_|i\}}|ip|i\}}||jo||}}n||jo||}}nxm|ii
D]\\\}}}||jo
|jno,||jo
|jnod|d<qqW|ii|i}|dj	od|d<n|i||||dS(Nt	lightBlueRR(RRRRRRRRR!R#R"R$RRPRR'R	t	setbeacon(	RRRRR$R	R"R#R!((RRs&&


<
cCs0||jo
djno+||jo
tijno
d}n||fdtifjo/||jod|}qd||f}n||fdtifjoA||jodt|}qdt|t|f}n/t|i
}t|i}d||f}||id<dS(Nit:s%ds%d:%ds%ss%s:%sRL(R!R#R"R$R.R/tnameRKRRRtname1Rtname2R(RR!R#R"R$R
RR((RRs?


 cCs|idj	o|i\}}|ip|i\}}||jo||}}n||jo||}}nxq|ii	D]\\\}}}||jo
|jno,||jo
|jnod|d<qqWndS(NRR(
RRRR!R#RR"R$RRPRRR(RR$RRR"R#RR!((RRs

<cCs1|i|i\}}|i||ddS(sCallback for the Return key.iRN(RRRRRR(RRRR((RRs

cCs:|i|i\}}|i|td|ddS(s0Callback for the Return key with Shift modifier.iRN(RRRRRRR>(RRRR((RRs

cCs1|i|i\}}|i|d|dS(sCallback for the Tab key.iRN(RRRRRR(RRRR((RRs

cCs:|i|i\}}|itd|d|dS(s-Callback for the Tab key with Shift modifier.iRN(RRRRRRR>(RRRR((RRs

cCs|i\}}|ii}d}|i	dot
|d}nHxDttt
tfD]0}y||}Wn
q[q[Xt|}Pq[W|djo|ot|}n|djo|ii||n|ii||||idS(s+Set the current cell from the entry widget.RiN(RRRRRR'RLRRt
startswithRRRRRtclsRzRRRiR*R(R(RRzRLRRRR((RRs(
cCs|iix|iiD]\\}}}|djp
|djoqn|ii||}|djod|d<qt|do|i\}}nt|t}}||d<t||d<qWdS(s(Fill the GUI cells from the sheet cells.iRCRLRBtanchorN(RRiRRRPRRR	RRRR RBRLRMRORtalign2anchor(RRLR	RRMRR((RRs


(RgRht__doc__RRRRRRRRRRRRRRRbRRRRRRRRRR(((RRs4-					2																			cCsdk}t}xtddD]}xtddD]}|djot|}nX|djot|}n;t|d}td|}d||f}t|}|i
|||q8Wq"W|i|iddS(sBasic non-gui self-test.Niis%s*%ss
sheet1.xml(RRtaR%RRRRRtc1tc2RRR(RURb(RRRRRRRR((Rt
test_basic,s$		


cCsBtidotid}nd}t|}|iidS(s	GUI test.is
sheet1.xmlN(R.targvR]RtgRtmainloop(RR]((Rttest_guiBsR(#RRRR.RYRtxml.parsersRjRRRRRRRTRRRRRRdRRRRRRRRKtTkinterRRRRRg(RRRRjRRRRRRRRRRRRKRRRYRTRR.RRRRdRRRRR((Rt?s@					
			!!!!	Y)6							C