File: //home/arjun/projects/env/lib/python3.10/site-packages/psycopg2/__pycache__/_range.cpython-310.pyc
o
we>H � @ sr d Z ddlZddlmZmZ ddlmZmZmZ ddlm Z m
Z
mZ G dd� d�Zd/d d
�Z
G dd� d�ZG d
d� d�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Zeee� eeedddd�Ze�� eeedddd�Ze�� eeed d!d"d�Ze�� ed#ed$d%d&d�Ze�� ed'ed(d)d*d�Ze�� ed+ed,d-d.d�Ze�� dS )0z1Implementation of the Range type and adaptation
� N)�ProgrammingError�InterfaceError)� ISQLQuote�adapt�register_adapter)�new_type�new_array_type�
register_typec @ s� e Zd ZdZdZd0dd�Zdd � Zd
d� Zedd
� �Z edd� �Z
edd� �Zedd� �Zedd� �Z
edd� �Zedd� �Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� ZdS )1�Rangea� Python representation for a PostgreSQL |range|_ type.
:param lower: lower bound for the range. `!None` means unbound
:param upper: upper bound for the range. `!None` means unbound
:param bounds: one of the literal strings ``()``, ``[)``, ``(]``, ``[]``,
representing whether the lower or upper bounds are included
:param empty: if `!True`, the range is empty
��_lower�_upper�_boundsN�[)Fc C sF |s|dvr
t d|����|| _|| _|| _d S d | _ | _| _d S )N)r z(]z()z[]zbound flags not valid: )�
ValueErrorr r
r )�self�lower�upper�bounds�empty� r �H/home/arjun/projects/env/lib/python3.10/site-packages/psycopg2/_range.py�__init__/ s
zRange.__init__c C s2 | j d u r| jj� d�S d�| jj| j| j| j �S )Nz(empty=True)z{}({!r}, {!r}, {!r}))r � __class__�__name__�formatr r
�r r r r �__repr__: s
�zRange.__repr__c C s>