
     fN                        d dl mZ d dlZd dlZd dlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ej        rddlmZ  G d de          ZdS )    )annotationsN)	timedelta   )AppGroup)current_app)send_from_directory)	Blueprint)BlueprintSetupState)	_sentinel)Responsec                  L     e Zd Zdddddddefd fdZddZddZd d!dZ xZS )"r	   Nnamestrimport_namestatic_folderstr | os.PathLike[str] | Nonestatic_url_path
str | Nonetemplate_folder
url_prefix	subdomainurl_defaultsdict[str, t.Any] | None	root_path	cli_groupreturnNonec                    t                                          |||||||||	|

  
         t                      | _        | j        | j        _        d S )N)super__init__r   clir   )selfr   r   r   r   r   r   r   r   r   r   	__class__s              S/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/flask/blueprints.pyr    zBlueprint.__init__   s]     		
 	
 	
" :: 	    filename
int | Nonec                    t           j        d         }|dS t          |t                    r!t	          |                                          S |S )an  Used by :func:`send_file` to determine the ``max_age`` cache
        value for a given file path if it wasn't passed.

        By default, this returns :data:`SEND_FILE_MAX_AGE_DEFAULT` from
        the configuration of :data:`~flask.current_app`. This defaults
        to ``None``, which tells the browser to use conditional requests
        instead of a timed cache, which is usually preferable.

        Note this is a duplicate of the same method in the Flask
        class.

        .. versionchanged:: 2.0
            The default configuration is ``None`` instead of 12 hours.

        .. versionadded:: 0.9
        SEND_FILE_MAX_AGE_DEFAULTN)r   config
isinstancer   inttotal_seconds)r"   r&   values      r$   get_send_file_max_agezBlueprint.get_send_file_max_age7   sM    " "#>?=4eY'' 	.u**,,---r%   r   c                    | j         st          d          |                     |          }t          t	          j        t          | j                  ||          S )aA  The view function used to serve files from
        :attr:`static_folder`. A route is automatically registered for
        this view at :attr:`static_url_path` if :attr:`static_folder` is
        set.

        Note this is a duplicate of the same method in the Flask
        class.

        .. versionadded:: 0.5

        z2'static_folder' must be set to serve static_files.)max_age)has_static_folderRuntimeErrorr/   r   tcastr   r   )r"   r&   r1   s      r$   send_static_filezBlueprint.send_static_fileR   sa     % 	USTTT ,,X66"F3*++Xw
 
 
 	
r%   rbresourcemodet.IO[t.AnyStr]c                    |dvrt          d          t          t          j                            | j        |          |          S )a  Open a resource file relative to :attr:`root_path` for
        reading.

        For example, if the file ``schema.sql`` is next to the file
        ``app.py`` where the ``Flask`` app is defined, it can be opened
        with:

        .. code-block:: python

            with app.open_resource("schema.sql") as f:
                conn.executescript(f.read())

        :param resource: Path to the resource relative to
            :attr:`root_path`.
        :param mode: Open the file in this mode. Only reading is
            supported, valid values are "r" (or "rt") and "rb".

        Note this is a duplicate of the same method in the Flask
        class.

        >   rr7   rtz)Resources can only be opened for reading.)
ValueErroropenospathjoinr   )r"   r8   r9   s      r$   open_resourcezBlueprint.open_resourceh   sA    , (((HIIIBGLL::DAAAr%   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r&   r   r   r'   )r&   r   r   r   )r7   )r8   r   r9   r   r   r:   )	__name__
__module____qualname__r   r    r/   r6   rC   __classcell__)r#   s   @r$   r	   r	      s        
 8<&*9=!% $04 $ )"" "" "" "" "" "" ""H   6
 
 
 
,B B B B B B B B Br%   r	   )
__future__r   r@   typingr4   datetimer   r!   r   globalsr   helpersr   sansio.blueprintsr	   SansioBlueprintr
   sansio.scaffoldr   TYPE_CHECKINGwrappersr    r%   r$   <module>rS      s   " " " " " " 				                             ( ( ( ( ( ( ; ; ; ; ; ; I I I I I I & & & & & &? #""""""oB oB oB oB oB oB oB oB oB oBr%   