File: //opt/alt/python27/lib/python2.7/site-packages/alembic/util/langhelpers.pyo
�
�M!Vc           @   sD  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d d l m Z m Z m Z m	 Z	 d  d l
 m Z m Z d  d l
 m Z d e f d �  �  YZ d e	 e � f d	 �  �  YZ d
 �  Z d �  Z d �  Z d d
 � Z d d � Z d d � Z d �  Z d e f d �  �  YZ d e f d �  �  YZ d e f d �  �  YZ d S(   i����Ni   (   t   callablet   exec_t   string_typest   with_metaclass(   t   format_argspec_plust   update_wrapper(   t   inspect_getfullargspect   _ModuleClsMetac           B   s   e  Z d  �  Z RS(   c         C   s*   t  t |  � j | | � |  j | � d  S(   N(   t   superR   t   __setattr__t   _update_module_proxies(   t   clst   keyt   value(    (    sI   /opt/alt/python27/lib/python2.7/site-packages/alembic/util/langhelpers.pyR	      s    (   t   __name__t
   __module__R	   (    (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/alembic/util/langhelpers.pyR   
   s   t   ModuleClsProxyc           B   s}   e  Z d  Z e j d �  � Z e d �  � Z d �  Z d �  Z	 e d �  � Z
 e d �  � Z e d �  � Z e d �  � Z
 RS(	   s�   Create module level proxy functions for the
    methods on a given class.
    The functions will have a compatible signature
    as the methods.
    c           C   s
   t  �  g  f S(   N(   t   set(    (    (    sI   /opt/alt/python27/lib/python2.7/site-packages/alembic/util/langhelpers.pyt   <lambda>   s    c         C   sD   |  j  |  \ } } x* | D]"