a qqep @ s d dl Z d dlmZmZ d dlmZmZmZ ddlm Z m Z mZ G dd dZede d Z G d d deee Zede d ZG d d dee ZdS ) N)ABCabstractmethod)GenericIterableTypeVar )PolicyObjectPolicySymbol SELinuxPolicyc @ s e Zd ZdZeeddddZedd Zejdd Zed d Z e jdd Z ddd dZ eeedddZ edddZdS ) Differencez&Base class for all policy differences.N)left_policyright_policyreturnc C s t t| _|| _|| _d S N)loggingZ getLogger__name__logr r )selfr r r =/usr/lib64/python3.9/site-packages/setools/diff/difference.py__init__ s zDifference.__init__c C s | j S r )_left_policyr r r r r s zDifference.left_policyc C s$ | j d| || _| d S )Nz"Policy diff left policy set to {0})r infoformatr _reset_diffr Zpolicyr r r r s c C s | j S r ) _right_policyr r r r r # s zDifference.right_policyc C s$ | j d| || _| d S )Nz#Policy diff right policy set to {0})r r r r r r r r r r ' s )r c C s t dS )z%Reset diff results on policy changes.N)NotImplementedErrorr r r r r 0 s zDifference._reset_diff) rule_listr c c s&