o
    dC                     @   sX   d dl Z d dlZddlmZ ddlmZ dd Ze ZdddZ	dd	d
Z	dd Z
dS )    N   )
exceptionsAttributeDictc                   C   s   t dd dD S )Nc              
   S   s$   i | ]}|t |t | qS  )osgetenvlower).0varr   r   R/var/www/html/visualizacion-main/env/lib/python3.10/site-packages/dash/_configs.py
<dictcomp>   s    z&load_dash_env_vars.<locals>.<dictcomp>)DASH_APP_NAMEDASH_URL_BASE_PATHNAMEDASH_ROUTES_PATHNAME_PREFIXDASH_REQUESTS_PATHNAME_PREFIX!DASH_SUPPRESS_CALLBACK_EXCEPTIONSDASH_ASSETS_EXTERNAL_PATHDASH_INCLUDE_ASSETS_FILESDASH_COMPONENTS_CACHE_MAX_AGEr   DASH_SERVE_DEV_BUNDLES
DASH_DEBUGDASH_UIDASH_PROPS_CHECKDASH_HOT_RELOADDASH_HOT_RELOAD_INTERVALDASH_HOT_RELOAD_WATCH_INTERVALDASH_HOT_RELOAD_MAX_RETRYDASH_SILENCE_ROUTES_LOGGINGDASH_PRUNE_ERRORSDASH_COMPRESSHOSTPORTr   r   r   r   r   load_dash_env_vars	   s
   r#   c                 C   sJ   |dur|S t  d|   }|du r|S | dv r#| dkS |S )zeConsolidate the config with priority from high to low provided init
    value > OS environ > default.NDASH_>   truefalser%   )r#   getupperr	   )namevaldefaultenvr   r   r   get_combined_config,   s   r-   c                 C   s   d}t d| } t d|}t d|}| d ur!|d ur!t|d| d ur1|d ur1t|d| d ur<|d u r<| }n|d u rBd}|dsLtd|dsVtd	t j}|se|red| | }n|d u rk|}|dsutd
| ||fS )Na^  
    {} This is ambiguous.
    To fix this, set `routes_pathname_prefix` instead of `url_base_pathname`.

    Note that `requests_pathname_prefix` is the prefix for the AJAX calls that
    originate from the client (the web browser) and `routes_pathname_prefix` is
    the prefix for the API routes on the backend (this flask server).
    `url_base_pathname` will set `requests_pathname_prefix` and
    `routes_pathname_prefix` to the same value.
    If you need these to be different values then you should set
    `requests_pathname_prefix` and `routes_pathname_prefix`,
    not `url_base_pathname`.
    url_base_pathnameroutes_pathname_prefixrequests_pathname_prefixz@You supplied `url_base_pathname` and `requests_pathname_prefix`.z>You supplied `url_base_pathname` and `routes_pathname_prefix`./z0`routes_pathname_prefix` needs to start with `/`z.`routes_pathname_prefix` needs to end with `/`z2`requests_pathname_prefix` needs to start with `/`)r-   r   InvalidConfigformat
startswithendswithr#   r   )r.   r/   r0   _pathname_config_error_messageapp_namer   r   r   pathname_configs:   sP   





r8   c                 C   sX   |sd S t |dk}tjtj| |}|s|r*tj|s*d| d}t	||S )Npagesz
        A folder called `z` does not exist. If a folder for pages is not
        required in your application, set `pages_folder=""`. For example:
        `app = Dash(__name__,  pages_folder="")`
        )
strr   pathjoinflaskhelpersget_root_pathisdirr   r2   )r)   pages_folder	use_pagesis_custom_folderpages_folder_path	error_msgr   r   r   pages_folder_config}   s   
rF   )N)NNN)r   r=    r   _utilsr   r#   DASH_ENV_VARSr-   r8   rF   r   r   r   r   <module>   s     

C