MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //usr/lib64/python2.4/site-packages/sepolgen/output.pyc
mò
d&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((t5/usr/lib64/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