Your IP : 3.145.152.146
�
�Q�f � � � d Z ddlZddlZddlmZ ddlmZ ddlmZ dd�Z G d� de� Z
d � Zed
k( r eej dd � yy)
z�A simple SQLite CLI for the sqlite3 module.
Apart from using 'argparse' for the command-line interface,
this module implements the REPL as a thin wrapper around
the InteractiveConsole class from the 'code' stdlib module.
� N)�ArgumentParser)�InteractiveConsole)�dedentc � � | j |� D ]
}t |� � y# t j $ r�}t |� j
} t |� d|j � d|� �t j �� n/# t $ r# t |� d|� �t j �� Y nw xY w|st j d� Y d}~yY d}~yd}~ww xY w)z�Helper that wraps execution of SQL code.
This is used both by the REPL and by direct execution from the CLI.
'c' may be a cursor or a connection.
'sql' is the SQL string to execute.
z (z): )�filez: � N)�execute�print�sqlite3�Error�type�__name__�sqlite_errorname�sys�stderr�AttributeError�exit)�c�sql�suppress_errors�row�e�tps �7/opt/alt/python312/lib64/python3.12/sqlite3/__main__.pyr r s� � �
��9�9�S�>�C��#�J� "���=�=� �
�!�W�
�
�� 1��R�D��1�-�-�.�c�!��5�C�J�J�G��� 1��R�D��1�#�,�S�Z�Z�0� 1����H�H�Q�K�K� ��
�s8 �!$ �C�C�
-A;�:C�;)B'�$C�&B'�'C�Cc �* � � e Zd ZdZ� fd�Zdd�Z� xZS )�SqliteInteractiveConsolezA simple SQLite REPL.c �Z �� t �| � � || _ |j � | _ y )N)�super�__init__�_con�cursor�_cur)�self�
connection� __class__s �r r z!SqliteInteractiveConsole.__init__( s% �� �
������ ��%�%�'�� � c � � |xdk( r t t j � � yxdk( r
t d� ydk( rt j d� y t j
|� syt
| j |� y)z�Override runsource, the core of the InteractiveConsole REPL.
Return True if more input is needed; buffering is done automatically.
Return False is input is a complete statement ready for execution.
z.versionz.helpzEnter SQL code and press enter.z.quitr TF)r
r �sqlite_versionr r �complete_statementr r"