U
    ,๒ฟWฆ  ใ                   @   s8  d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	 ZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdd ZG dd deZeeG d d! d!eZeeeG d"d# d#eZeed$d% Zd&d' Zeed(d) Zeed*d+ ZG d,d- d-Zdd.lm Z  e ed/Z!e!e_"d0d1 Z#eeG d2d3 d3eZ$e$ Z%eeG d4d5 d5eZ&ee
G d6d7 d7eZ'eeG d8d9 d9eZ(e(d:Z)eeG d;d< d<eZ*G d=d> d>eZ+dAd?d@Z,dS )Bz-Examples supporting Sphinx doctest snippets.
้    N)ฺ	Interface)ฺimplementer)ฺ
IInterface)ฺadapter)ฺICc                 C   s   t j d|  ก d S )Nz%s
)ฺsysฺstdoutฺwriteฉฺxฉ r   ๚?/usr/lib/python3/dist-packages/zope/component/tests/examples.pyr	      s    r	   c                   @   s   e Zd ZdS )ฺ	ITestTypeNฉฺ__name__ฺ
__module__ฺ__qualname__r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )ฺI1Nr   r   r   r   r   r       s   r   c                   @   s   e Zd ZdS )ฺI2Nr   r   r   r   r   r   #   s   r   c                   @   s   e Zd ZdS )ฺI3Nr   r   r   r   r   r   &   s   r   c                   @   s   e Zd ZdS )ฺI4Nr   r   r   r   r   r   )   s   r   c                   @   s   e Zd ZdS )ฺIGINr   r   r   r   r   r   ,   s   r   c                   @   s   e Zd ZdS )ฺIQINr   r   r   r   r   r   /   s   r   c                   @   s   e Zd ZdS )ฺISINr   r   r   r   r   r   2   s   r   c                   @   s   e Zd ZdS )ฺISIINr   r   r   r   r   r   5   s   r   c                  G   s   d S ฉNr   )ฺargsr   r   r   ฺnoop8   s    r   c                   @   s   e Zd Zdd Zdd ZdS )ฺUc                 C   s
   || _ d S r   )r   )ฺselfฺnamer   r   r   ฺ__init__=   s    z
U.__init__c                 C   s   d| j j| jf S )Nz%s(%s))ฺ	__class__r   ฉr   r   r   r   ฺ__repr__@   s    z
U.__repr__N)r   r   r   r!   r$   r   r   r   r   r   ;   s   r   c                   @   s   e Zd ZdS )ฺU1Nr   r   r   r   r   r%   C   s   r%   c                   @   s   e Zd ZdS )ฺU12Nr   r   r   r   r   r&   G   s   r&   c                 C   s   t d|   d S )Nz
handle1 %sฉr	   r
   r   r   r   ฺhandle1K   s    r(   c                  G   s   t dt|   d S )Nzhandle2 )r	   ฺrepr)Zobjectsr   r   r   ฺhandle2O   s    r*   c                 C   s   t d|   d S )Nz
handle3 %sr'   r
   r   r   r   ฺhandle3R   s    r+   c                 C   s   t d|   d S )Nz
handle4 %sr'   r
   r   r   r   ฺhandle4V   s    r,   c                   @   s   e Zd ZdS )ฺGlobalRegistryNr   r   r   r   r   r-   Z   s   r-   )ฺGlobalAdapterRegistryฺadaptersc                   C   s   t  tdก d S )Nr/   )ฺbaser!   r-   r   r   r   r   ฺ
clear_base`   s    r1   c                   @   s   e Zd Zdd ZdS )ฺObc                 C   s   dS )Nz<instance Ob>r   r#   r   r   r   r$   f   s    zOb.__repr__Nฉr   r   r   r$   r   r   r   r   r2   d   s   r2   c                   @   s   e Zd Zdd ZdS )ฺOb2c                 C   s   dS )Nz<instance Ob2>r   r#   r   r   r   r$   n   s    zOb2.__repr__Nr3   r   r   r   r   r4   l   s   r4   c                   @   s   e Zd ZdS )ฺOb3Nr   r   r   r   r   r5   q   s   r5   c                   @   s   e Zd Zdd ZdS )ฺCompc                 C   s
   || _ d S r   ฉฺcontextฉr   r8   r   r   r   r!   w   s    zComp.__init__Nฉr   r   r   r!   r   r   r   r   r6   u   s   r6   ้   c                   @   s   e Zd Zdd ZdS )ฺComp2c                 C   s
   || _ d S r   r7   r9   r   r   r   r!   ~   s    zComp2.__init__Nr:   r   r   r   r   r<   |   s   r<   c                   @   s    e Zd ZdZdd Zdd ZdS )ฺConformsToIComponentLookupzAAllow a dummy sitemanager to conform/adapt to `IComponentLookup`.c                 C   s
   || _ d S r   )ฺsitemanager)r   r>   r   r   r   r!      s    z#ConformsToIComponentLookup.__init__c                 C   s   ddl m} ||kr| jS dS )zAThis method is specified by the adapter PEP to do the adaptation.r   )ฺIComponentLookupN)Zzope.component.interfacesr?   r>   )r   Z	interfacer?   r   r   r   ฺ__conform__   s    z&ConformsToIComponentLookup.__conform__N)r   r   r   ฺ__doc__r!   r@   r   r   r   r   r=      s   r=   c                 C   sJ   ddl m} dd l}ddlm} ddlm} |  |  |d|j  d S )Nr   )ฺ	XMLConfig)ฺsetUp)ฺtearDownz	meta.zcml)Zzope.configuration.xmlconfigrB   Zzope.componentZzope.component.testingrC   rD   Z	component)ZtestrB   ฺzoperC   rD   r   r   r   ฺ	clearZCML   s    rF   )N)-rA   r   Zzope.interfacer   r   Zzope.interface.interfacesr   Zzope.component._declarationr   Zzope.component.testfiles.viewsr   r	   r   r   r   r   r   r   r   r   r   r   ฺobjectr   r%   r&   r(   r*   r+   r,   r-   Zzope.component.globalregistryr.   r0   r/   r1   r2   ฺobr4   r5   r6   ฺcompr<   r=   rF   r   r   r   r   ฺ<module>   s`   



