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: //usr/local/ssl/lib/python2.4/site-packages/sepolgen/output.pyc
mò
=&KRc@s\dZdkZdkZdfd„ƒYZd„Zd„Zd„Zd„Zd„ZdS(	si
Classes and functions for the output of reference policy modules.

This module takes a refpolicy.Module object and formats it for
output using the ModuleWriter object. By separating the output
in this way the other parts of Madison can focus solely on
generating policy. This keeps the semantic / syntactic issues
cleanly separated from the formatting issues.
NtModuleWritercBstZd„Zd„ZRS(NcCs(d|_d|_t|_t|_dS(N(tNonetselftfdtmoduletTruetsorttrequires(R((t3/usr/lib/python2.4/site-packages/sepolgen/output.pyt__init__"s			cCsh||_|iot|iƒnx=ti|idtƒD]#\}}|i
dt|ƒƒq=WdS(Nt	showdepths%s
(RRRtsort_filtert	refpolicytwalktreeRtnodetdepthRtwritetstr(RRRRR((RR(s	
(t__name__t
__module__R	R(((RR!s	cCs°ti|ƒ}|iƒti|ƒ}|iƒt|ƒt|ƒjot|d|dƒSnxEt	||ƒD]4}|d|djot|d|dƒSqtqtWdS(Nii(tutiltset_to_listtxtxlRtytyltlentcmptziptv(RRRRR((Rt
id_set_cmp9s

cCst|i|iƒ}|dj	o|Snt|i|iƒ}|dj	o|Snt|i|iƒ}|dj	o|Sntt|i	ƒt|i	ƒƒS(Ni(
Rtat	src_typestbtrett	tgt_typestobj_classesRRtperms(RR!R"((Rt
avrule_cmpGs


cCsM|id|idjot|id|idƒSnt|i|iƒS(Ni(RtargsR!Rtifname(RR!((Rt
ifcall_cmpVscCs—t|tiƒoBt|tiƒot||ƒSq“t|idg|iƒSn?t|ti	ƒot
||ƒSnt|i|idgƒSdS(Ni(t
isinstanceRRt
InterfaceCallR!R)RR'R tAVRuleR&(RR!((Rtrule_cmp\scCs.d„}x|iƒD]}||ƒqWdS(s/Sort and group the output for readability.
    cCs»g}x4|iƒD]&}
|i|
ƒ|itiƒƒqWx!|iƒD]}|i|ƒqJW|itiƒƒg}|i
|iƒƒ|i
|iƒƒ|i
tƒd}g}x³|D]«}t|tiƒo|id}	nti|iƒ}	||	joU|o|itiƒƒn|	}tiƒ}|iid|ƒ|i|ƒn|i|ƒqÀW|i
|ƒx/|iD]$}||jo|i|ƒq†q†W||_dS(Nis============= %s ==============(tcRtmodule_declarationstmodtappendRtCommentRtrequiretrulestextendtavrulestinterface_callsRR-Rtcurt	sep_rulestruleR*R+R'RRtfirstR tcommenttlinestchildrentchild(RR<R.R8R9R4R3R:R?RR0((Rt	sort_nodelsD







N(R@RtnodesR(RRR@((RRis
	0
(	t__doc__RRRRR&R)R-R(RRR&RRR)RR-((Rt?s