U
    Ϊ²g6  γ                   @   s|   d Z 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
dS )z
Wrappers for numeric types.
zpsycopg.types.numericc                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪInt2zM
    Force dumping a Python `!int` as a PostgreSQL :sql:`smallint/int2`.
    © ©ΪargΪreturnc                    s   t   | |‘S ©N©ΪsuperΪ__new__©Ϊclsr   ©Ϊ	__class__r   ϊ5/tmp/pip-unpacked-wheel-b_ea6rx_/psycopg/_wrappers.pyr	      s    zInt2.__new__©r   c                    s
   t   ‘ S r   ©r   Ϊ__repr__©Ϊselfr   r   r   Ϊ__str__   s    zInt2.__str__c                    s   | j j dt  ‘  dS ©Nϊ(ϊ)©r   Ϊ__name__r   r   r   r   r   r   r      s    zInt2.__repr__©r   Ϊ
__module__Ϊ__qualname__Ϊ__doc__Ϊ_MODULEΪ	__slots__Ϊintr	   Ϊstrr   r   Ϊ__classcell__r   r   r   r   r      s   r   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪInt4zL
    Force dumping a Python `!int` as a PostgreSQL :sql:`integer/int4`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	   (   s    zInt4.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r   +   s    zInt4.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r   .   s    zInt4.__repr__r   r   r   r   r   r#       s   r#   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪInt8zK
    Force dumping a Python `!int` as a PostgreSQL :sql:`bigint/int8`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	   :   s    zInt8.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r   =   s    zInt8.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r   @   s    zInt8.__repr__r   r   r   r   r   r$   2   s   r$   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )Ϊ
IntNumericzO
    Force dumping a Python `!int` as a PostgreSQL :sql:`numeric/decimal`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	   L   s    zIntNumeric.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r   O   s    zIntNumeric.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r   R   s    zIntNumeric.__repr__r   r   r   r   r   r%   D   s   r%   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪFloat4zM
    Force dumping a Python `!float` as a PostgreSQL :sql:`float4/real`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	   ^   s    zFloat4.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r   a   s    zFloat4.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r   d   s    zFloat4.__repr__©r   r   r   r   r   r   Ϊfloatr	   r!   r   r   r"   r   r   r   r   r&   V   s   r&   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪFloat8zY
    Force dumping a Python `!float` as a PostgreSQL :sql:`float8/double precision`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	   p   s    zFloat8.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r   s   s    zFloat8.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r   v   s    zFloat8.__repr__r'   r   r   r   r   r)   h   s   r)   c                       sT   e Zd ZdZeZdZed d fddZed fddZ	ed fd	d
Z
  ZS )ΪOidzC
    Force dumping a Python `!int` as a PostgreSQL :sql:`oid`.
    r   r   c                    s   t   | |‘S r   r   r
   r   r   r   r	      s    zOid.__new__r   c                    s
   t   ‘ S r   r   r   r   r   r   r      s    zOid.__str__c                    s   | j j dt  ‘  dS r   r   r   r   r   r   r      s    zOid.__repr__r   r   r   r   r   r*   z   s   r*   N)r   r   r    r   r#   r$   r%   r(   r&   r)   r*   r   r   r   r   Ϊ<module>   s   
