관리-도구
편집 파일: __main__.cpython-312.pyc
� �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"