§
    YŠtjˆ  ã                  ó.  — U d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
mZmZmZmZ ddlmZmZmZmZmZ dd	lmZmZmZmZ  ej        e¦  «        Zd
ed<   	 ded<   	 ded<   ded<   ded<   ded<   ded<   ded<   ded<   d d„Z e¦   «          dZdS )!zò
psycopg libpq wrapper

This package exposes the libpq functionalities as Python objects and functions.

The real implementation (the binding to the C library) is
implementation-dependant but all the implementations share the same interface.
é    )ÚannotationsN)ÚCallableé   )Úabc)ÚConninfoOptionÚPGnotifyÚPGresAttDescÚerror_messageÚversion_pretty)Ú
ConnStatusÚDiagnosticFieldÚ
ExecStatusÚFormatÚPing)ÚPipelineStatusÚPollingStatusÚTraceÚTransactionStatusÚstrÚ__impl__ÚintÚ__build_version__zCallable[[], int]Úversionztype[abc.PGconn]ÚPGconnztype[abc.PGresult]ÚPGresultztype[abc.Conninfo]ÚConninfoztype[abc.Escaping]ÚEscapingztype[abc.PGcancel]ÚPGcancelztype[abc.PGcancelConn]ÚPGcancelConnÚreturnÚNonec                 óÌ  ‡‡— t           j                             dd¦  «                             ¦   «         Šd} g Šdˆˆfd
„}‰r‰dk    r+	 ddlm}  n## t          $ r} |d|¦  «         Y d}~nd}~ww xY w| s3‰r‰dk    r+	 ddlm}  n## t          $ r} |d|¦  «         Y d}~nd}~ww xY w| s3‰r‰dk    r+	 ddlm	}  n## t          $ r} |d|¦  «         Y d}~nd}~ww xY w| rA| j
        a
| j        a| j        a| j        a| j        a| j        a| j        a| j        a| j        adS ‰rt'          d‰› d�¦  «        ‚d                     d„ ‰D ¦   «         ¦  «        }t'          d|› �¦  «        ‚)zÎ
    Import pq objects implementation from the best libpq wrapper available.

    If an implementation is requested try to import only it, otherwise
    try to import the best implementation available.
    ÚPSYCOPG_IMPLÚ NÚnamer   ÚeÚ	Exceptionr    r!   c                óv   •— ‰sd| › d|› �}‰                      |¦  «         d S d| › d|› �}t          |¦  «        |‚)Nzcouldn't import psycopg 'z' implementation: z#couldn't import requested psycopg ')ÚappendÚImportError)r%   r&   ÚmsgÚattemptsÚimpls      €€úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/psycopg/pq/__init__.pyÚhandle_errorz'import_from_libpq.<locals>.handle_errorA   s^   ø€ Øð 	*ØI¨dÐIÐIÀaÐIÐIˆCØ�OŠO˜CÑ Ô Ð Ð Ð àS¸ÐSÐSÐPQÐSÐSˆCÝ˜cÑ"Ô"¨Ð)ó    Úcr   )ÚpqÚbinaryÚpythonr   )Ú	pq_ctypesz"requested psycopg implementation 'z	' unknownú
c              3  ó    K  — | ]	}d |› �V — Œ
dS )z- N© )Ú.0Úattempts     r.   ú	<genexpr>z$import_from_libpq.<locals>.<genexpr>k   s(   è è € ÐEÐE°˜n 7˜n˜nÐEÐEÐEÐEÐEÐEr0   z(no pq wrapper available.
Attempts made:
)r%   r   r&   r'   r    r!   )ÚosÚenvironÚgetÚlowerÚ	psycopg_cr2   r'   Úpsycopg_binaryr$   r5   r   r   r   r   r   r   r   r   r   r*   Újoin)Úmoduler/   r&   Ú	sattemptsr,   r-   s       @@r.   Úimport_from_libpqrE   2   sd  øø€ õ Œ:�>Š>˜.¨"Ñ-Ô-×3Ò3Ñ5Ô5€DØ€FØ€Hð*ð *ð *ð *ð *ð *ð *ð ð !�4˜3’;�;ð	!Ø.Ð.Ð.Ð.Ð.Ð.Ð.øÝð 	!ð 	!ð 	!ØˆL˜˜aÑ Ô Ð Ð Ð Ð Ð Ð øøøøð	!øøøð ð &˜4ð & 4¨8Ò#3Ð#3ð	&Ø3Ð3Ð3Ð3Ð3Ð3Ð3øÝð 	&ð 	&ð 	&ØˆL˜ 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%øøøøð	&øøøð ð &˜4ð & 4¨8Ò#3Ð#3ð	&Ø-Ð-Ð-Ð-Ð-Ð-Ð-øÝð 	&ð 	&ð 	&ØˆL˜ 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%øøøøð	&øøøð ð Ø”?ˆØ”.ˆØ”ˆØ”?ˆØ”?ˆØ”?ˆØ”?ˆØÔ*ˆØ"Ô4ÐÐÐØ	ð ÝÐN¸tÐNÐNÐNÑOÔOÐOà—I’IÐEÐE¸HÐEÑEÔEÑEÔEˆ	Ýð ð ðð ñ ô ð 	sH   Á	A Á
A0ÁA+Á+A0Á>B Â
B%ÂB Â B%Â3B: Â:
CÃCÃC)r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   )r    r!   )Ú__doc__Ú
__future__r   r<   ÚloggingÚcollections.abcr   r$   r   Úmiscr   r   r	   r
   r   Ú_enumsr   r   r   r   r   r   r   r   r   Ú	getLoggerÚ__name__ÚloggerÚ__annotations__rE   Ú__all__r8   r0   r.   ú<module>rQ      s�  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $à Ð Ð Ð Ð Ð Ø WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WØ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kà	ˆÔ	˜8Ñ	$Ô	$€à €€�ðð
 Ð Ð Ñ ðð Ð Ð Ñ Ø Ð Ð Ñ Ø Ð Ð Ñ Ø Ð Ð Ñ Ø Ð Ð Ñ Ø Ð Ð Ñ Ø $Ð $Ð $Ñ $ð=ð =ð =ð =ð@ Ð Ñ Ô Ð ð€€€r0   