� c��j��� ddlZddlZddlmZddlmZddlmZd d�ZGd�de�Z d�Z e d k(re ejd d�yy) �N)�ArgumentParser)�InteractiveConsole)�dedentc�� |j|�D] }t|��y#tj$r�}t |�j } t|�d|j �d|��tj��n/#t$r#t|�d|��tj��YnwxYw|stjd�Yd}~yYd}~yd}~wwxYw)Nz (z): )�filez: �) �execute�print�sqlite3�Error�type�__name__�sqlite_errorname�sys�stderr�AttributeError�exit)�c�sql�suppress_errors�row�e�tps �)/usr/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�(��eZdZ �fd�Zdd�Z�xZS)�SqliteInteractiveConsolec�Z��t�|��||_|j�|_y)N)�super�__init__�_con�cursor�_cur)�self� connection� __class__s �rrz!SqliteInteractiveConsole.__init__(s%��� ������ ��%�%�'�� �c��� |xdk(rttj��yxdk(r td�ydk(rtjd�y tj |�syt |j|�y)Nz.versionz.helpzEnter SQL code and press enter.z.quitrTF)r r �sqlite_versionrr�complete_statementr r")r#�source�filename�symbols r� runsourcez"SqliteInteractiveConsole.runsource-st�� � ����/�/�0�2����7�8�� ����� � � ��1�1�&�9���� � �6�*�r&)z�single)r� __module__� __qualname__rr-� __classcell__)r%s@rrr%s����(� r&rc �^�tdd��}|jdtddd��|jd tdd � �|jd d ddtj��d��|j |�}|j dk(rd}nt|j �}tjdk(rdtjvrd}nd}tdtj�d|�d|�d��j�}dt_ dt_tj|j d��} |j rt#||j d��nt%|�}|j'|d �!�|j)�tj*d"�y#|j)�wxYw)#NzPython sqlite3 CLIzpython -m sqlite3)� description�progr+z:memory:�?zrSQLite database to open (defaults to ':memory:'). A new database is created if the file does not previously exist.)r �default�nargs�helprzAAn SQL query to execute. Any returned rows are printed to stdout.)r r7r8z-vz --version�versionzSQLite version z'Print underlying SQLite library version)�actionr9r8za transient in-memory database�win32z idlelib.runzCTRL-ZzCTRL-Dz2 sqlite3 shell, running on SQLite version z Connected to z} Each command will be run using execute() on the cursor. Type ".help" for more information; type ".quit" or z to quit. zsqlite> z ... )�isolation_levelF)r�)�exitmsgr)r� add_argument�strr r(� parse_argsr+�reprr�platform�modulesr�strip�ps1�ps2�connectrr r�interact�closer)�args�parser�db_name�eofkey�banner�con�consoles r�mainrRAs��� �(� ��F� �����j�� O��� ��� �C�s� 7��� ��� �k�)�!�'�"8�"8�!9�:� 6��� �6� � �d� #�D� �}�}� �"�2���t�}�}�%�� �|�|�w��=�� � �#C����� �2�29�2H�2H�1I�J��Y�<�=C�8�D� � � ���  ��C�G��C�G� �/�/�$�-�-�� >�C� � �8�8� �C����5� 9�/�s�3�G� � � �V�R� � 0� � � � ��H�H�Q�K�� � � � �s �1AF�F,�__main__r)T) r r�argparser�coder�textwraprr rrRr�argv�r&r�rYsT��� � �#�#���,�1��8:�z �z������!�"���r&