
    SOg                     N    S SK r SSKJr   " S S\" \ R                  5      5      rg)    N   )with_metaclassc                   D    \ rS rSrSrS0 0rS rS rS rS r	S r
S	 rS
rg)IPlugin   z:
Simple interface to be inherited when creating a plugin.
sharedc                     SU l         S U l         [        U S5        g ! [         a    U R                  R
                  U l         g f = f)NFname)activeconfigurationgetattrAttributeError	__class____name__r
   selfs    Z/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/pluginmanager/iplugin.py__init__IPlugin.__init__   s@    !	0D&! 	0//DI	0s    %AAc                     SU l         g)z
Called at plugin activation.
TNr   r   s    r   activateIPlugin.activate   s         c                     SU l         g)z%
Called when the plugin is disabled.
FNr   r   s    r   
deactivateIPlugin.deactivate   s     r   c                     U R                   $ )a  
If your plugin needs a configuration, override this method and return
a configuration template.
For example a dictionary like:
return {'LOGIN' : 'example@example.com', 'PASSWORD' : 'password'}
Note: if this method returns None, the plugin won't be configured
)CONFIGURATION_TEMPLATEr   s    r   get_configuration_template"IPlugin.get_configuration_template   s     ***r   c                     U R                  5       nUR                  5        H%  nX1;  d  M
  SR                  UU5      n[        U5      e   g)Nz{} doesn't contain the key {}T)r    keysformat	Exception)r   r   config_templatekeyerrors        r   check_configurationIPlugin.check_configuration)   sQ    99;"'')C'8??@CE  && * r   c                     Xl         g )N)r   )r   r   s     r   	configureIPlugin.configure3   s    *r   )r   r   r
   N)r   
__module____qualname____firstlineno____doc__r   r   r   r   r    r)   r,   __static_attributes__ r   r   r   r      s1     '^0++r   r   )abccompatr   ABCMetar   r3   r   r   <module>r7      s     
 "/+nS[[) /+r   