
    ՟f                     (    d dl mZ dZ G d d      Zy)   )Defaultsz0.8.0c                   $    e Zd ZdZddZd Zd Zy)Sessiona  This class is used to add Server-side Session to one or more Flask
    applications.

    :param app: A Flask app instance.

    For a typical setup use the following initialization::

        app = Flask(__name__)
        Session(app)

    .. note::

        You can not use ``Session`` instance directly, what ``Session`` does
        is just change the :attr:`~flask.Flask.session_interface` attribute on
        your Flask applications. You should always use :class:`flask.session`.
    Nc                 :    || _         || j                  |       y y N)appinit_appselfr   s     Q/var/www/cvtools/html/venv/lib/python3.12/site-packages/flask_session/__init__.py__init__zSession.__init__   s    ?MM#     c                 0    | j                  |      |_        y)aF  This the the alternate setup method, typically used in an application factory pattern::

            sess = Session()

            def create_app():
                app = Flask(__name__)
                sess.init_app(app)
                return app

        :param app: the Flask app object with proper configuration.
        N)_get_interfacesession_interfacer
   s     r   r	   zSession.init_app   s     !% 3 3C 8r   c                    |j                   }|j                  dt        j                        }|j                  dt        j                        }|j                  dt        j
                        }|j                  dt        j                        }|j                  dt        j                        }|j                  dt        j                        }|j                  dt        j                        }	|j                  dt        j                        }
|j                  d	t        j                        }|j                  d
t        j                        }|j                  dt        j                        }|j                  dt        j                        }|j                  dt        j                        }|j                  dt        j                         }|j                  dt        j"                        }|j                  dt        j$                        }|j                  dt        j&                        }|j                  dt        j(                        }|j                  dt        j*                        }|j                  dt        j,                        }|j                  dt        j.                        }|j                  dt        j0                        }|j                  dt        j2                        }||||||d}|j5                         }|dk(  rddlm}  |d.i |d|	i}|S |dk(  rddlm}  |d.i |d|
i}|S |dk(  rdd lm }  |d.i ||||d!}|S |d"k(  rdd#l!m"}  |d.i |d|i}|S |d$k(  rdd%l#m$}   | d.i ||||d&}|S |d'k(  rdd(l%m&}!  |!d.i |||||||d)}|S |d*k(  rdd+l'm(}"  |"d.i |||d,}|S tS        d-|       )/NSESSION_TYPESESSION_PERMANENTSESSION_USE_SIGNERSESSION_KEY_PREFIXSESSION_ID_LENGTHSESSION_SERIALIZATION_FORMATSESSION_REDISSESSION_MEMCACHEDSESSION_CACHELIBSESSION_FILE_DIRSESSION_FILE_THRESHOLDSESSION_FILE_MODESESSION_MONGODBSESSION_MONGODB_DBSESSION_MONGODB_COLLECTSESSION_SQLALCHEMYSESSION_SQLALCHEMY_TABLESESSION_SQLALCHEMY_SEQUENCESESSION_SQLALCHEMY_SCHEMASESSION_SQLALCHEMY_BIND_KEYSESSION_CLEANUP_N_REQUESTSSESSION_DYNAMODBSESSION_DYNAMODB_TABLE)r   
key_prefix
use_signer	permanent
sid_lengthserialization_formatredisr   )RedisSessionInterfaceclient	memcached)MemcachedSessionInterface
filesystem)FileSystemSessionInterface)	cache_dir	thresholdmodecachelib)CacheLibSessionInterfacemongodb)MongoDBSessionInterface)r1   db
collection
sqlalchemy)SqlAlchemySessionInterface)r1   tablesequenceschemabind_keycleanup_n_requestsdynamodb)DynamoDBSessionInterface)r1   
table_namez%Unrecognized value for SESSION_TYPE:  )*configgetr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   lowerr/   r0   r2   r3   r4   r5   r9   r:   r;   r<   r?   r@   rF   rG   
ValueError)#r   r   rJ   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   common_paramsr0   r   r3   r5   r:   r<   r@   rG   s#                                      r   r   zSession._get_interface+   s    zz.(2G2GH"JJ':H<V<VW#ZZ ("="=
 $ZZ ("="=
 #JJ':H<V<VW'-zz*H,Q,Q(
$
 

?H4J4JK #JJ':H<V<VW "::&8(:S:ST "::&8(:S:ST!'$h&E&E"
 #JJ':H<V<VW !**%68P8PQ#ZZ ("="=
 #)**%x'G'G#

 $ZZ ("="=
 $*::&(I(I$
  '-jj)8+O+O'
# %+JJ')K)K%
! '-jj)8+O+O'
# &,ZZ((*M*M&
"
 "::&8(:S:ST!'$h&E&E"

 ,,*+$@
 $))+7"4 5 !!$!v ! o [(< 9 !!(!h ! a \)> : !!*0&	!Z ! O Z': 8 !!(8!H ! C Y&8 7 !!&%2	!< ! 1 \)> : !!).404#=!* !  Z': 8 !!'1! !  D\NSTTr   r   )__name__
__module____qualname____doc__r   r	   r   rI   r   r   r   r      s    "
9O!r   r   N)defaultsr   __version__r   rI   r   r   <module>rU      s    t! t!r   