
^Q\                 @   s   d  d l  m Z m Z d  d l Z d  d l Z d  d l m Z d  d l m Z Gd d   d  Z	 d d   Z
 d	 d
   Z d d   Z d S)    )absolute_importunicode_literalsN)escape)tokensc               @   s"   e  Z d  Z d Z d d   Z d S)BoldKeywordFilterz$sqlparse filter to bold SQL keywordsc             c   si   xb | D]Z \ } } | t  j k } | r9 t  j d f Vn  | t |  f V| r t  j d f Vq q Wd S)zProcess the token streamz<strong>z	</strong>N)TZKeywordZTextr   )selfstream
token_typevalueZ
is_keyword r   R/var/www/dbchiro/venv/build/django-debug-toolbar/debug_toolbar/panels/sql/utils.pyprocess   s    zBoldKeywordFilter.processN)__name__
__module____qualname____doc__r   r   r   r   r   r   
   s   r   c             C   sW   t  j j   } | j j t    | j j t  j j    t	 d j
 | j |     S)N )sqlparseZengineZFilterStackZ
preprocessappendr   postprocessfiltersZSerializerUnicodeswap_fieldsjoinrun)sqlstackr   r   r   reformat_sql   s    r   c             C   s   d } d } t  j | | |   S)Nz,SELECT</strong> (...........*?) <strong>FROMzSELECT</strong> <a class="djDebugUncollapsed djDebugToggle" href="#">&#8226;&#8226;&#8226;</a> <a class="djDebugCollapsed djDebugToggle" href="#">\1</a> <strong>FROM)resub)r   exprsubsr   r   r   r      s    r   c           	   #   s   d d   }  d d d d d d d g } d   d d d g g } x   d k rV d Vn  t  |  } x\ | D]T  xK | D]C      f d d   t d	  D } | j |  |  |  Vqv Wqi W  d L  qB Wd
 S)z
    Generate constrasting colors by varying most significant bit of RGB first,
    and then vary subsequent bits systematically.
    c             S   s   d t  |   S)Nz#%02x%02x%02x)tuple)rgbr   r   r   
rgb_to_hex,   s    z/contrasting_color_generator.<locals>.rgb_to_hex   r      z#000000c                s&   g  |  ] }    |  |  q Sr   r   ).0i)nprevioustripler   r   
<listcomp>9   s   	 z/contrasting_color_generator.<locals>.<listcomp>   N)r%   r   r   )r   r%   r   )r   r   r%   )r%   r%   r   )r   r%   r%   )r%   r   r%   )r%   r%   r%      )listranger   )r$   ZtriplesZso_farZcopy_so_farr#   r   )r)   r*   r+   r   contrasting_color_generator'   s    	%r1   )
__future__r   r   r   r   Zdjango.utils.htmlr   r   r   r   r   r   r1   r   r   r   r   <module>   s   	