File: //lib/python3/dist-packages/zope/component/__pycache__/zcml.cpython-310.pyc
o
,�W�O � @ sJ d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
dd lmZ dd
lm
Z
ddlmZ ddlmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ zddlmZ W n ey} dd� Ze Z Z Z Z!eZY nw ddl"mZ ddl"mZ ddl"m Z ddl"m#Z# e
d�Z$G dd� de%e�Z&dd� Z'G dd� de�Z(G dd � d e�Z)d!d"� Z* # %d@d&d'�Z+G d(d)� d)e�Z,e'Z- # %dAd*d+�Z.G d,d-� d-e(�Z/ # $dBd.d/�Z0G d0d1� d1e�Z1dCd2d3�Z2G d4d5� d5e�Z3G d6d7� d7e�Z4G d8d9� d9e3e4�Z5d#d#d#efd:d;�Z6G d<d=� d=e(e4�Z7d#d#d#efd>d?�Z8d#S )Dz.Component Architecture configuration handlers
� ��ConfigurationError)�Bool)�GlobalInterface)�GlobalObject)�PythonIdentifier)�Tokens)�MessageFactory)� Interface)�
implementedBy)�
providedBy)�TextLine)�getSiteManager)� adaptedBy�getName)�provideInterface)�_BLANK)�
Permissionc O s t d��)NzTsecurity proxied components are not supported because zope.security is not availabler )�args�kw� r �5/usr/lib/python3/dist-packages/zope/component/zcml.py�_no_security$ s r )�_checker��proxify)�protectedFactory)�securityAdapterFactory�zopec @ s e Zd ZdS )�ComponentConfigurationErrorN)�__name__�
__module__�__qualname__r r r r r 1 s r c O s t t� | �}||i |�� d S �N)�getattrr )�
methodNamer �kwargs�methodr r r �handler4 s r( c @ sN e Zd Zeed�ed�dd�Zeed�ed�dd�Zeed�ed�dd�Zd S )
�IBasicComponentInformationzComponent to usez�Python name of the implementation object. This must identify an object in a module using the full dotted name. If specified, the ``factory`` field must be left blank.F��title�description�requiredr z*Permission required to use this component.�Factoryz�Python name of a factory which can create the implementation object. This must identify an object in a module using the full dotted name. If specified, the ``component`` field must be left blank.N) r r! r"