+
    i|  c                   sJ    R t ^ RIt^ RIHt ^ RIHt ^ RIHt  ! R R4      tR# )z!Transaction classes for firewalldN)log)errors)FirewallErrorc                   s   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tRR ltR tR tRtV tR# )FirewallTransactionc                sX    Wn         / V n        . V n        . V n        . V n        . V n        R # N)fwrules	pre_funcs
post_funcs
fail_funcsmodules)selfr      &&A/usr/lib/python3.14/site-packages/firewall/core/fw_transaction.py__init__ZFirewallTransaction.__init__   s*    
    c                s    V P                   P                  4        V P                  P                  4        V P                  P                  4        V P                  P                  4        R # r   )r   clearr   r   r	   )r   s   &r   r   ZFirewallTransaction.clear   sB    

r   c                sp    V P                   P                  VP                  . 4      P                  V4       R # r   )r   Z
setdefaultnameappendr   backendrule   &&&r   add_ruleZFirewallTransaction.add_rule    s%    

gllB/66t<r   c                s:    V F  pV P                  W4       K  	  R # r   )r   )r   r   r   r   s   &&& r   	add_rulesZFirewallTransaction.add_rules#   s    DMM'( r   c                s    VP                   V P                  9   ;'       d     W P                  VP                   ,          9   # r   )r   r   r   r   r   
query_ruleZFirewallTransaction.query_rule'   s-    ||tzz)NNdjj6N.NNr   c                s    VP                   V P                  9   dR   W P                  VP                   ,          9   d/   V P                  VP                   ,          P                  V4       R # R # R # r   )r   r   remover   r   r   remove_ruleZFirewallTransaction.remove_rule*   sH    <<4::%$**W\\2J*JJJw||$++D1 +K%r   c                >    V P                   P                  W34       R # r   )r   r   r   funcargs   &&*r   add_preZFirewallTransaction.add_pre.   s    tl+r   c                r   r   )r   r   r   r    r   add_postZFirewallTransaction.add_post1       |,r   c                r   r   )r	   r   r   r    r   add_failZFirewallTransaction.add_fail4   r#   r   c                s`    WP                   9  d   V P                   P                  V4       R # R # r   )r
   r   r   moduler   r   
add_moduleZFirewallTransaction.add_module7   s#    %LL' &r   c                s`    WP                   9   d   V P                   P                  V4       R # R # r   )r
   r   r%   r   r   remove_moduleZ!FirewallTransaction.remove_module;   s#    \\!LL' "r   c                :    V F  pV P                  V4       K  	  R # r   )r'   r   r
   r&      && r   add_modulesZFirewallTransaction.add_modules?   s    FOOF# r   c                r)   r   )r(   r*   r+   r   remove_modulesZ"FirewallTransaction.remove_modulesC   s    Fv& r   c           
     s   V P                   '       g9   V P                  '       g'   V P                  '       g   V P                  '       g   R # \        P
                  ! \        V 4      : RV: R24       V P                   pV P                  pV P                  4        RpRp. pV F7  p V P                  P                  WV,          4       VP                  V4       K9  	  V'       gF   V P                  P!                  WA4      p
V
'       d#   V
w  rV'       d   \        P                  ! V	4       V'       d7   V P                   F  w  r V! V!   K  	  \#        \$        P&                  V4      hV P)                  4        V'       d   V P+                  4        R # R #   \         dP   p	RpT	p\        P                  ! \        P                  ! 4       4       \        P                  ! T	4        R p	?	EKG  R p	?	ii ; i  \         dX   p	\        P                  ! \        P                  ! 4       4       \        P                  ! RT: RT: RT	: 24        R p	?	EK  R p	?	ii ; i)	Nz	.execute(Z)FZ TzCalling fail func Z(z
) failed: )r   r   r   r	   r    debug4typer
   prer   r   Z	ExceptionZdebug1	tracebackZ
format_excerrorZhandle_modulesr   r   ZCOMMAND_FAILEDpostr   )r   Zenabler   r   r
   r2   ZerrorMsgZdoneZbackend_nameZmsgZmodule_returnZstatusr   r   s   &&&           r   executeZFirewallTransaction.executeG   s   


NNNOOOOOO 

tDz6:;

,, 	
 !L*l,,?@ L) "  GG227CM !.JJsO"oo
Y$K .   5 5x@@ 			JJL G  

9//12		#	4 ! YJJy3356IItTSVWXXYs2   &"FG1G.AG))G.1I<AIIc                    \         P                  ! R \        V 4      ,          4       V P                   F  w  rV! V!   K  	  R# )z%s.pre()N)r    r.   r/   r   r      &  r   r0   ZFirewallTransaction.pre   s.    

:T
*+..JD$K )r   c                r5   )z	%s.post()N)r    r.   r/   r   r   r6   r   r3   ZFirewallTransaction.post   s.    

;d+,//JD$K *r   )r	   r   r
   r   r   r   N)T)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   r   r   r!   r"   r$   r'   r(   r,   r-   r4   r0   r3   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s\      =)O2,--(($'=~ r   r   )	Z__doc__r1   Zfirewall.core.loggerr    Zfirewallr   Zfirewall.errorsr   r   ) r   r   <module>r7      s"    (  $  ) r   