
    Pi#
                    j    d Z ddlmZ ddlmZmZ ddlmZ dgZ e	h d          Z
dd
ZddZddZdS )zpsql handler for Dippy.    )annotations)ClassificationHandlerContext)is_readonly_sqlpsql>   COPYVACUUMANALYZECLUSTERREINDEXtokens	list[str]returnc                   g }d}|t          |           k     r| |         }|dv r:|dz   t          |           k     r$|                    | |dz                       |dz  }Y|                    d          rk|t          d          d         }t          |          dk    r&|d         dv r|d         |d         k    r
|dd         }|                    |           |dz  }|dz  }|t          |           k     |S )	zFExtract SQL from -c or --command options. Returns list of SQL strings.r   )z-cz	--command      z
--command=N)'")lenappend
startswith)r   sql_listitokenvals        //root/projects/gits/Dippy/src/dippy/cli/psql.py_extract_command_sqlr      s   H	A
c&kk//q	'''AECKK,?,?OOF1q5M***FAL)) 	L))++,C3xx1}}Q:!5!5#b'SV:K:K!B$iOOC   FA	Q c&kk// O    boolc                    t          |           D ]9\  }}|dv r dS |                    d          s|                    d          r dS :dS )z(Check if -f or --file option is present.)-fz--fileTz--file=r"   F)	enumerater   )r   r   r   s      r   _has_file_optionr$   %   sl    f%%  5$$$44I&& 	%*:*:4*@*@ 	44	5r   ctxr   r   c                   | j         }d|v sd|v sd|v rt          dd          S d|v sd|v rt          dd	          S t          |          rt          d
d          S t          |          }|st          d
d          S |D ]D}t	          |t
                    }|du rt          d
d          c S |t          d
d          c S Et          dd          S )Nz--helpz	--versionz-Vallowzpsql help/version)descriptionz-lz--listzpsql --listaskzpsql (file input)zpsql (interactive))extra_writeFzpsql (write query)zpsql (unknown query)zpsql (read-only query))r   r   r$   r   r   _POSTGRES_WRITE)r%   r   r   sqlreadonlys        r   classifyr.   /   s>   ZF 6[F22dfnng3FGGGG v~~V++g=AAAA  Fe1DEEEE $F++H  Ge1EFFFF  M M"3ODDDu!%5IJJJJJJ!%5KLLLLLL  '/GHHHHr   N)r   r   r   r   )r   r   r   r    )r%   r   r   r   )__doc__
__future__r   	dippy.clir   r   dippy.core.sqlr   COMMANDS	frozensetr+   r   r$   r.    r   r   <module>r6      s      " " " " " " 5 4 4 4 4 4 4 4 * * * * * *8 )OOOPP   ,   I I I I I Ir   