Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ³Y„j¦ã@sJdZdgZddlZddlmZddlmZddlmZGdd„de ƒZ dS)z!Transaction classes for firewalldÚFirewallTransactionéN)Úlog)Úerrors)Ú FirewallErrorc@s”eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#S)$rcCs(||_i|_g|_g|_g|_g|_dS)N)ÚfwÚrulesÚ pre_funcsÚ post_funcsÚ fail_funcsÚmodules)Úselfr©r ú$/usr/lib/python3.6/fw_transaction.pyÚ__init__!s zFirewallTransaction.__init__cCs2|jjƒ|jdd…=|jdd…=|jdd…=dS)N)rÚclearrr r )r r r rr)s   zFirewallTransaction.clearcCs|jj|jgƒj|ƒdS)N)rÚ setdefaultÚnameÚappend)r ÚbackendÚruler r rÚadd_rule/szFirewallTransaction.add_rulecCsx|D]}|j||ƒqWdS)N)r)r rrrr r rÚ add_rules2s zFirewallTransaction.add_rulescCs|j|jko||j|jkS)N)rr)r rrr r rÚ query_rule6szFirewallTransaction.query_rulecCs2|j|jkr.||j|jkr.|j|jj|ƒdS)N)rrÚremove)r rrr r rÚ remove_rule9szFirewallTransaction.remove_rulecGs|jj||fƒdS)N)rr)r ÚfuncÚargsr r rÚadd_pre=szFirewallTransaction.add_precGs|jj||fƒdS)N)r r)r rrr r rÚadd_post@szFirewallTransaction.add_postcGs|jj||fƒdS)N)r r)r rrr r rÚadd_failCszFirewallTransaction.add_failcCs||jkr|jj|ƒdS)N)r r)r Úmoduler r rÚ add_moduleFs zFirewallTransaction.add_modulecCs||jkr|jj|ƒdS)N)r r)r r r r rÚ remove_moduleJs z!FirewallTransaction.remove_modulecCsx|D]}|j|ƒqWdS)N)r!)r r r r r rÚ add_modulesNs zFirewallTransaction.add_modulescCsx|D]}|j|ƒqWdS)N)r")r r r r r rÚremove_modulesRs z"FirewallTransaction.remove_modulescCsœtjdt|ƒ|dfƒi}|sjxp|jD]<}x6t|j|ƒD]$}|j|gƒj|jj|ƒj |ƒƒqX|j |ƒq>W|sÖ|jj ||ƒ} | rÖ| \} }| rÖtj|ƒ|�ri} xH|D]@}g| |<x2t||ƒD]"} | |j |jj|ƒj| ƒƒ�qWqæWxb| D]Z}y|jj|| |ƒWn<tk �r†}ztjt j ƒƒtj |ƒWYdd}~XnX�q0Wxh|jD]^\} }y | |ŽWnFtk �rð}z(tjt j ƒƒtj d| ||fƒWYdd}~XnX�q–Wttj|ƒ‚|jƒdS)Nz%s.execute(%s)FÚTz#Calling fail func %s(%s) failed: %s)rr%r&r-ÚprerrÚ ExceptionÚdebug1Ú tracebackÚ format_excÚerrorrZhandle_modulesr'r(r)r rrZCOMMAND_FAILEDÚpost)r r+rr r4ZerrorMsgÚdoner,ÚmsgZ module_returnZstatusZ undo_rulesrrrr r rÚexecutefsV    " & zFirewallTransaction.executecCs|tjdt|ƒƒxd|jD]Z\}}y ||ŽWqtk rr}z(tjtjƒƒtjd|||fƒWYdd}~XqXqWdS)Nz%s.pre()z"Calling pre func %s(%s) failed: %s) rr%r&rr0r1r2r3r4)r rrr7r r rr/¦s zFirewallTransaction.precCs|tjdt|ƒƒxd|jD]Z\}}y ||ŽWqtk rr}z(tjtjƒƒtjd|||fƒWYdd}~XqXqWdS)Nz %s.post()z#Calling post func %s(%s) failed: %s) rr%r&r r0r1r2r3r4)r rrr7r r rr5±s zFirewallTransaction.postN)Ú__name__Ú __module__Ú __qualname__rrrrrrrrrr!r"r#r$r-r8r/r5r r r rr s"@ ) Ú__doc__Ú__all__r2Zfirewall.core.loggerrZfirewallrZfirewall.errorsrÚobjectrr r r rÚs