a
    [f                     @   s  d Z dZdd edD Zdd edD ZdZddd	d
ddZd$ddZd%ddZdZ	dZ
dZe	i i i i i i i i i i i i i i i i i de
dddddddddddidddddiddiddiddii ddiddidddddiddddddddidedddddddddddidddddidd iddiddii dddddidddddiddddddddidiZe
Zd!d" Zd#S )&z
termcolors.py
)blackredgreenyellowbluemagentacyanwhitec                 C   s   i | ]}t | d | qS )z3%scolor_names.0x r   iC:\Users\91910\OneDrive\Desktop\vts_admin_rebuild-master\vts\Lib\site-packages\django/utils/termcolors.py
<dictcomp>       r      c                 C   s   i | ]}t | d | qS )z4%sr	   r   r   r   r   r      r   014578)boldZ
underscoreblinkreverseconceal r   c                 K   s   g }| dkr,t |dkr,|d dkr,dt S | D ]6\}}|dkrT|t|  q4|dkr4|t|  q4|D ]}|tv rp|t|  qpd|vrd	| pdtf } d
dd| | pdf S )aB  
    Return your text, enclosed in ANSI graphics codes.

    Depends on the keyword arguments 'fg' and 'bg', and the contents of
    the opts tuple/list.

    Return the RESET code if no parameters are given.

    Valid colors:
        'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'

    Valid options:
        'bold'
        'underscore'
        'blink'
        'reverse'
        'conceal'
        'noreset' - string will not be auto-terminated with the RESET code

    Examples:
        colorize('hello', fg='red', bg='blue', opts=('blink',))
        colorize()
        colorize('goodbye', opts=('underscore',))
        print(colorize('first line', fg='red', opts=('noreset',)))
        print('this should be red too')
        print(colorize('and so should this'))
        print('this should not be red')
    r          resetz[%smfgbgZnoresetz%s[%smz%s%s;)lenRESETitemsappend
foreground
backgroundopt_dictjoin)textoptskwargsZ	code_listkvor   r   r   colorize   s     r2   c                    s    fddS )a  
    Return a function with default parameters for colorize()

    Example:
        bold_red = make_style(opts=('bold',), fg='red')
        print(bold_red('hello'))
        KEYWORD = make_style(fg='yellow')
        COMMENT = make_style(fg='blue', opts=('bold',))
    c                    s   t | fi  S N)r2   )r,   r.   r-   r   r   <lambda>J   r   zmake_style.<locals>.<lambda>r   )r-   r.   r   r4   r   
make_style@   s    
r6   ZnocolorZdarklight)ERRORSUCCESSWARNINGZNOTICEZ	SQL_FIELDZSQL_COLTYPEZSQL_KEYWORDZ	SQL_TABLEZ	HTTP_INFOZHTTP_SUCCESSZHTTP_REDIRECTZHTTP_NOT_MODIFIEDZHTTP_BAD_REQUESTZHTTP_NOT_FOUNDZHTTP_SERVER_ERRORZMIGRATE_HEADINGZMIGRATE_LABELr   )r   )r!   r-   r   r   r!   r-   r   r   r   c                 C   s  | st t S |  d}t t  }|D ]}|t v rF|t |  q*d|v r*i }|d\}}| }|d}|  |	 d}|  |	 }	|	t
v r|	|d< |r|d t
v r|d |d< tdd	 |D }
|
r|
|d
< |t t v r*|r*|||< q*|t t krdS |S )a  Parse a DJANGO_COLORS environment variable to produce the system palette

    The general form of a palette definition is:

        "palette;role=fg;role=fg/bg;role=fg,option,option;role=fg/bg,option,option"

    where:
        palette is a named palette; one of 'light', 'dark', or 'nocolor'.
        role is a named style used by Django
        fg is a foreground color.
        bg is a background color.
        option is a display options.

    Specifying a named palette is the same as manually specifying the individual
    definitions for each role. Any individual definitions following the palette
    definition will augment the base palette definition.

    Valid roles:
        'error', 'success', 'warning', 'notice', 'sql_field', 'sql_coltype',
        'sql_keyword', 'sql_table', 'http_info', 'http_success',
        'http_redirect', 'http_not_modified', 'http_bad_request',
        'http_not_found', 'http_server_error', 'migrate_heading',
        'migrate_label'

    Valid colors:
        'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'

    Valid options:
        'bold', 'underscore', 'blink', 'reverse', 'conceal', 'noreset'
    r#   =,/r!   r"   c                 s   s   | ]}|t v r|V  qd S r3   )r*   )r   sr   r   r   	<genexpr>   r   z&parse_color_setting.<locals>.<genexpr>r-   N)PALETTESDEFAULT_PALETTElowersplitNOCOLOR_PALETTEcopyupdateupperr   popr
   tuple)Zconfig_stringpartspalettepartZ
definitionroleZinstructionsstylescolorsr!   r-   r   r   r   parse_color_setting   s8    

rQ   N)r   r   )r   )__doc__r
   ranger(   r)   r%   r*   r2   r6   rE   ZDARK_PALETTEZLIGHT_PALETTErA   rB   rQ   r   r   r   r   <module>   s   	
-
;