3
6b                 @   sn   d Z ddlZddlZddlmZ ddlmZmZ ddlZddl	m
Z
 ddlmZ dd Zd	d
 ZdddZdS )ae  Module that contains the command line app.

Why does this file exist, and why not put this in __main__?
  You might be tempted to import things from __main__ later, but that will
  cause problems: the code will get executed twice:
  - When you run `python -m sqlparse` python will execute
    ``__main__.py`` as a script. That means there won't be any
    ``sqlparse.__main__`` in ``sys.modules``.
  - When you import __main__ it will get executed again (as a module) because
    there's no ``sqlparse.__main__`` in ``sys.modules``.
  Also see (1) from http://click.pocoo.org/5/setuptools/#setuptools-integration
    N)TextIOWrapper)open	getreader)PY2)SQLParseErrorc           
   C   sj  dddg} t jdddd}|jd |jd	d
dddd |jddtjd |jd}|jdddd| djdjdd | D d |jdddd| djdjd d | D d |jd!d"d#d$d%d&gd'd |jd(d)d*d+d,d- |jd.d/d0d*d+d1d- |jd2d3d4td5d6 |jd7d8d*d+d9d: |jd;d<d*d+d=d: |jd>d?d@tdAd6 |jdBdCd+t	dDd6 |jdEdFdGdHdI |S )JNupperlower
capitalizeZ	sqlformatzEFormat FILE according to OPTIONS. Use "-" as FILE to read from stdin.z%(prog)s  [OPTIONS] FILE, ...)progdescriptionusagefilenamez-oz	--outfileoutfileFILEz)write output to FILE (defaults to stdout))destmetavarhelpz	--versionversion)actionr   zFormatting Optionsz-kz
--keywordsZCHOICEZkeyword_casez-change case of keywords, CHOICE is one of {0}z, c             s   s   | ]}d j |V  qdS )z"{0}"N)format).0x r   K/var/www/html/sandeepIITI/myenv/lib/python3.6/site-packages/sqlparse/cli.py	<genexpr>A   s    z create_parser.<locals>.<genexpr>)r   r   choicesr   z-iz--identifiersZidentifier_casez0change case of identifiers, CHOICE is one of {0}c             s   s   | ]}d j |V  qdS )z"{0}"N)r   )r   r   r   r   r   r   I   s    z-lz
--languageLANGZoutput_formatpythonZphpzJoutput a snippet in programming language LANG, choices are "python", "php"z--strip-commentsstrip_comments
store_trueFzremove comments)r   r   defaultr   z-rz
--reindentZreindentzreindent statementsz--indent_widthZindent_width   z(indentation width (defaults to 2 spaces))r   r    typer   z-az--reindent_alignedz%reindent statements to aligned format)r   r    r   z-sz--use_space_around_operatorsz*place spaces around mathematical operatorsz--wrap_afterZ
wrap_afterr   z*Column after which lists should be wrappedz--comma_firstZcomma_firstz-Insert linebreak before comma (default False)z
--encodingencodingzutf-8z*Specify the input encoding (default utf-8))r   r    r   )
argparseArgumentParseradd_argumentsqlparse__version__add_argument_groupr   joinintbool)Z_CASE_CHOICESparsergroupr   r   r   create_parser"   s    



r/   c             C   s   t jjdj|  dS )z5Print msg and optionally exit with return code exit_.z[ERROR] {0}
   )sysstderrwriter   )msgr   r   r   _error   s    r5   c       	   -   C   s  t  }|j| } | jdkrLtr4t| jtjj }qt	tjj
| jdj }n^y.t| jd| j}dj|j }W d Q R X W n. tk
r } ztdj| j|S d }~X nX d}| jryt| jd| j}d}W n0 tk
 r } ztd	j| j|S d }~X nX ntj}t| }ytjj|}W n, tk
rL } ztd
j|S d }~X nX tj|f|}|j| |j  |r||j  dS )N-)r#   r zFailed to read {0}: {1}FwTzFailed to open {0}: {1}zInvalid options: {0}r   )r/   
parse_argsr   r   r   r#   r1   stdinreadr   bufferr   r*   	readlinesIOErrorr5   r   r   stdoutvarsr'   	formatterZvalidate_optionsr   r3   flushclose)	argsr-   datafeZclose_streamstreamZformatter_optssr   r   r   main   s@    

 
rK   )N)__doc__r$   r1   ior   codecsr   r   r'   Zsqlparse.compatr   Zsqlparse.exceptionsr   r/   r5   rK   r   r   r   r   <module>   s   i