
    k"g|                     ,    d Z ddlmZ ddlmZ d Zd Zy)zSQL formatter    )filters)SQLParseErrorc                    | j                  d      }|dvrt        dj                  |            | j                  d      }|dvrt        dj                  |            | j                  d      }|dvrt        dj                  |            | j                  d	d
      }|dvrt        dj                  |            | j                  dd
      }|dvrt        dj                  |            | j                  dd
      }|dvrt        dj                  |            | j                  d      }|E	 t        |      }|dk  rt        dj                  |            || d<   | j                  dd      | d<   | j                  dd
      }|dvrt        dj                  |            |rd| d<   || d<   | j                  dd
      }	|	dvrt        dj                  |	            |	rd| d<   | j                  dd
      }
|
dvrt        dj                  |	            |
rd| d<   | j                  dd
      }|dvrt        dj                  |            || d<   | j                  dd
      }|dvrt        d j                  |            |rd!| d"<   nd#| d"<   | j                  d$d%      }	 t        |      }|dk  rt        d'      || d$<   | j                  d(d)      }	 t        |      }|d)k  rt        d+      || d(<   | j                  d,d
      }|dvrt        d-      || d,<   | j                  d.d
      }|dvrt        d/      || d.<   | j                  d0      }|	 t        |      }|d2k  rt        d3      || d0<   | S # t        t
        f$ r t        dj                  |            w xY w# t
        t        f$ r t        d&      w xY w# t
        t        f$ r t        d*      w xY w# t
        t        f$ r t        d1      w xY w)4zValidates options.keyword_case)Nupperlower
capitalizez$Invalid value for keyword_case: {!r}identifier_casez'Invalid value for identifier_case: {!r}output_format)NsqlpythonphpzUnknown output format: {!r}strip_commentsF)TFz&Invalid value for strip_comments: {!r}use_space_around_operatorsz2Invalid value for use_space_around_operators: {!r}strip_whitespacez(Invalid value for strip_whitespace: {!r}truncate_stringsz(Invalid value for truncate_strings: {!r}   truncate_charz[...]indent_columnsz&Invalid value for indent_columns: {!r}Treindentz Invalid value for reindent: {!r}reindent_alignedz(Invalid value for reindent_aligned: {!r}indent_after_firstz*Invalid value for indent_after_first: {!r}indent_tabsz#Invalid value for indent_tabs: {!r}	indent_char indent_width   z indent_width requires an integerz(indent_width requires a positive integer
wrap_afterr   zwrap_after requires an integerz&wrap_after requires a positive integercomma_firstz$comma_first requires a boolean valuecompactz compact requires a boolean valueright_marginz right_margin requires an integer
   z%right_margin requires an integer > 10)getr   formatint
ValueError	TypeError)optionskwcaseidcaseofrmtr   space_around_operatorsstrip_wsr   r   r   r   r   r   r   r   r    r!   r"   s                     K/var/www/html/djangosite/lib/python3.12/site-packages/sqlparse/formatter.pyvalidate_optionsr0      s   [[(F;; ##)6&>3 	3 [[*+F;; ##)6&>3 	3 KK(E22 ##)6%=2 	2 [[!159N]* ##)6.#9; 	; %[[)EuM]2 ##)6*@#AC 	C {{-u5H}$ ##)6(#35 	5 {{#56#	A"#34 q  !''-v.>'?A A&6"##*;;#H [[!159N]* ##)6.#9; 	;	"
 .G{{:u-H}$ ##)6(#35 	5	&*"#{{#5u=}, ##)6(#35 	5	&*"# %95A. ##)6*<#=? 	?$6G !++mU3K-' ##)6+#68 	8	!%!$;;~q1L@<( aFGG*GN\1-J>_
 A~DEE&GL++mU3K-'BCC(GMkk)U+Gm#>?? GI;;~.L	D|,L " GHH*GNNi I& 	A !''-v.>'?A A	Ab z" @>??@ z" ><==>( :& 	D BCC	Ds0   2M: %N' O O# :*N$'OO #O>c                    |j                  d      r1| j                  j                  t        j                  |d                |j                  d      r1| j                  j                  t        j
                  |d                |j                  d      r6| j                  j                  t        j                  |d   |d                |j                  dd      r=| j                          | j                  j                  t        j                                |j                  d      r=| j                          | j                  j                  t        j                                |j                  d	      s|j                  d
      r=| j                          | j                  j                  t        j                                |j                  d
      rZ| j                          | j                  j                  t        j                  |d   |d   |d   |d   |d   |d   |d                |j                  dd      rB| j                          | j                  j                  t        j                  |d                |j                  d      rB| j                          | j                  j                  t        j                  |d                |j                  d      rt|d   }|j                         dk(  rt        j                          }n*|j                         dk(  rt        j"                         }nd}|| j$                  j                  |       | S )zSetup and return a filter stack.

    Args:
      stack: :class:`~sqlparse.filters.FilterStack` instance
      options: Dictionary with options validated by validate_options.
    r   r
   r   r   )widthcharr   Fr   r   r   r   r   r   r   r   r    r!   )r3   r2   r   r   r   r    r!   r   )r3   r"   )r2   r   r   r   N)r$   
preprocessappendr   KeywordCaseFilterIdentifierCaseFilterTruncateStringFilterenable_groupingstmtprocessSpacesAroundOperatorsFilterStripCommentsFilterStripWhitespaceFilterReindentFilterAlignedIndentFilterRightMarginFilterr   OutputPHPFilterOutputPythonFilterpostprocess)stackr)   frmtfltrs       r/   build_filter_stackrG      s    {{>"%%gn&=>	@ {{$%((1B)CD	F {{%& < <,-GO4L!N 	O {{/7  !D!D!FG {{#$  !<!<!>?{{%&'++j*A  !>!>!@A{{:  ""]+n-#*+?#@&'78"<0#M2	*-	. {{%u-  ''W]-CD	F {{>"  %%GN,CD	F {{?#'::<5 **,DZZ\X%--/DD$$T*L    N)__doc__sqlparser   sqlparse.exceptionsr   r0   rG    rH   r/   <module>rM      s      -xvCrH   