3
g                 @   s"   d dl mZmZ G dd dZdS )    )sqltokensc               @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )StatementSplitterz1Filter that split stream at individual statementsc             C   s   | j   d S )N)_reset)self r   `/var/www/tester-filtro-web/env/lib/python3.6/site-packages/sqlparse/engine/statement_splitter.py__init__   s    zStatementSplitter.__init__c             C   s(   d| _ d| _d| _d| _g | _d| _dS )z/Set the filter attributes to its default valuesFr   N)_in_declare
_is_create_begin_depth
consume_wsr   level)r   r   r   r   r      s    zStatementSplitter._resetc             C   s   |t jkr|dkrdS |t jkr,|dkr,dS |t jkr:dS |j }|t jjkrb|jdrbd| _dS |dkr| jr| jdkrd| _dS |dkr|  jd7  _| jrdS dS |d	krt	d| jd | _dS |dkr| jr| jdkrdS |dk rdS dS )z<Get the new split level (increase, decrease or remain equal)(   )r   ZCREATETZDECLAREZBEGINZENDIFFORWHILECASEEND IFEND FOR	END WHILEr   )r   r   r   r   )r   r   r   r   )
TPunctuationKeywordupperZDDL
startswithr   r   r
   max)r   ttypevalueZunifiedr   r   r   _change_splitlevel   s6    

z$StatementSplitter._change_splitlevelc             c   s   t jt jjf}x|D ]x\}}| jr@||kr@tj| jV  | j  |  j	| j
||7  _	| jjtj|| | j	dkr|t jkr|dkrd| _qW | jrtdd | jD  rtj| jV  dS )zProcess the streamr   ;Tc             s   s   | ]}|j V  qd S )N)Zis_whitespace).0tr   r   r   	<genexpr>j   s    z,StatementSplitter.process.<locals>.<genexpr>N)r   
WhitespaceCommentSingler   r   Z	Statementr   r   r   r"   appendTokenr   all)r   streamZ	EOS_TTYPEr    r!   r   r   r   processO   s    
zStatementSplitter.processN)__name__
__module____qualname____doc__r	   r   r"   r.   r   r   r   r   r      s
   
4r   N)Zsqlparser   r   r   r   r   r   r   r   <module>   s   