
    z%i                         	 d dl Z d dlZd dlmZ d dlmZ d dlmZ ddZ G d de      Z	d Z
ed	k(  r e
ej                  d
d        yy)    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 nw xY w|st        j                  d       Y d }~y Y d }~y d }~ww xY w)Nz (z): )filez:    )executeprintsqlite3Errortype__name__sqlite_errornamesysstderrAttributeErrorexit)csqlsuppress_errorsrowetps         D/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/sqlite3/__main__.pyr	   r	      s    
99S> 	C#J	== !W	1RD1--.c!5CJJG 	1RD1#,SZZ0	1HHQKK s8   !% CC-A<;C<)B(%C'B((CCc                   (     e Zd Z	  fdZddZ xZS )SqliteInteractiveConsolec                 Z    t         |           || _        |j                         | _        y )N)super__init___concursor_cur)self
connection	__class__s     r   r   z!SqliteInteractiveConsole.__init__(   s%    	%%'	    c                     	 |xdk(  r t        t        j                          yxdk(  r t        d       ydk(  rt        j                  d       y	 t        j
                  |      syt        | j                  |       y)Nz.versionz.helpzEnter SQL code and press enter.z.quitr   TF)r
   r   sqlite_versionr   r   complete_statementr	   r"   )r#   sourcefilenamesymbols       r   	runsourcez"SqliteInteractiveConsole.runsource-   st    	
 //02  78  
 	 11&9		6*r&   )z<input>single)r   
__module____qualname__r   r-   __classcell__)r%   s   @r   r   r   %   s    (
r&   r   c            	      ^   t        dd      }|j                  dt        ddd       |j                  d	t        dd
       |j                  ddddt        j                   d        |j
                  |  } | j                  dk(  rd}nt        | j                        }t        j                  dk(  rdt        j                  vrd}nd}t        dt        j                   d| d| d      j                         }dt        _        dt        _        t        j                  | j                  d       }	 | j                   rt#        || j                   d       nt%        |      }|j'                  |d !       |j)                          t        j*                  d"       y # |j)                          w xY w)#NzPython sqlite3 CLIzpython -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helpr   zAAn SQL query to execute. Any returned rows are printed to stdout.)r   r7   r8   z-vz	--versionversionzSQLite version z'Print underlying SQLite library version)actionr9   r8   za transient in-memory databasewin32zidlelib.runzCTRL-ZzCTRL-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.
    zsqlite> z    ... )isolation_levelF)r    )exitmsgr   )r   add_argumentstrr   r(   
parse_argsr+   reprr   platformmodulesr   stripps1ps2connectr   r	   r   interactcloser   )argsparserdb_nameeofkeybannerconconsoles          r   mainrR   A   s   ( F jO   Cs7   k)!'"8"8!9:6  
 6d#D}}
"2t}}% ||w=#C 2292H2H1I JY < =C8 D 	 
  CGCG
//$--
>C	88C59 /s3GVR0		HHQK 			s   1AF F,__main__r   )T)r   r   argparser   coder   textwrapr   r	   r   rR   r   argv r&   r   <module>rY      sT     
 # # ,1 8:z z!" r&   