+
    d‚•i°	  ã                   ó0   € ] tR .t^ RIHt  ! R R 4      tR# )ÚPlugin)ÚUnimplementedMethodc                   ó€   a € ] tR t^t o Rt]R 4       t]P                  R 4       tR tR t	R t
]R 4       tR tR	tV tR
# )r   zrBase class for plugins.

These plugins only do one thing: identify cruft. See the 'get_cruft'
method for details.
c                óB   € \        V R 4      '       d   V P                  # . # ©Ú
_condition)Úhasattrr   ©Úselfs   &Ú;/usr/lib/python3/dist-packages/janitor/plugincore/plugin.pyÚ	conditionÚPlugin.condition"   s   € ä")¨$°×"=Ò"=ˆt�‰ÐEÀ2ÐEó    c                ó   € Wn         R # ©Nr   )r
   r   s   &&r   r   r   &   s   € à#Žr   c                ó   € Wn         R# )z4Set the Application instance this plugin belongs to.N)Úapp)r
   r   s   &&r   Úset_applicationÚPlugin.set_application*   s   € àŽr   c                ót   € V P                  4        F  pVP                  4        K  	  V P                  4        R# )z6Find cruft and clean it up.

This is a helper method.
N)Ú	get_cruftÚcleanupÚpost_cleanup©r
   Úcrufts   & r   Údo_cleanup_cruftÚPlugin.do_cleanup_cruft.   s*   € ð
 —^‘^Ö%ˆEØ�M‰MŽOñ &à×ÑÖr   c                ó,   € \        V P                  4      h)aC  Find some cruft in the system.

This method MUST return an iterator (see 'yield' statement).
This interface design allows cruft to be collected piecemeal,
which makes it easier to show progress in the user interface.

The base class default implementation of this raises an
exception. Subclasses MUST override this method.
)r   r   r	   s   &r   r   ÚPlugin.get_cruft7   s   € ô " $§.¡.Ó1Ð1r   c              #  óD   "  € V P                  4        F  pVx € K	  	  R # 5ir   )r   r   s   & r   r   ÚPlugin.cruftC   s   é € à—^‘^Ö%ˆEØŒKó &ùs   ‚ c                ó   € R# )z¸Do plugin-wide cleanup after the individual cleanup was performed.

This is useful for stuff that needs to be processed in batches
(e.g. for performance reasons) like package removal.
N© r	   s   &r   r   ÚPlugin.post_cleanupH   s   € ñ 	r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úpropertyr   Úsetterr   r   r   r   r   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      sg   ø‡ € ñð ñFó ðFð ×Ññ$ó ð$òòò
2ð ñó ð÷ð r   N)ÚtypeÚ__metaclass__Ú__all__Újanitor.plugincore.exceptionsr   r   r"   r   r   Ú<module>r2      s"   ðð" €Øˆ*€õ >÷6ó 6r   