
    ٘g                     F    d dl Z ddlmZmZmZmZmZmZ dZ G d de	      Z
y)    N   )NullSessionInterfaceRedisSessionInterfaceMemcachedSessionInterfaceFileSystemSessionInterfaceMongoDBSessionInterfaceSqlAlchemySessionInterfacez0.5.0c                   $    e Zd ZdZddZd Zd Zy)SessionaM  This class is used to add Server-side Session to one or more Flask
    applications.

    There are two usage modes.  One is initialize the instance with a very
    specific Flask application::

        app = Flask(__name__)
        Session(app)

    The second possibility is to create the object once and configure the
    application later::

        sess = Session()

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

    By default Flask-Session will use :class:`NullSessionInterface`, you
    really should configurate your app to use a different SessionInterface.

    .. 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.
    Nc                 :    || _         || j                  |       y y N)appinit_appselfr   s     a/var/www/html/janusapi.askjitendra.com/env/lib/python3.12/site-packages/flask_session/__init__.py__init__zSession.__init__(   s    ?MM#     c                 0    | j                  |      |_        y)zThis is used to set up session for your app object.

        :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           	      8   |j                   j                         }|j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  d	d        |j                  d
d        |j                  dt        j                  j                  t        j                         d             |j                  dd       |j                  dd       |j                  dd        |j                  dd       |j                  dd       |j                  dd        |j                  dd       |d   dk(  rt        |d	   |d   |d   |d         }|S |d   dk(  rt        |d
   |d   |d   |d         }|S |d   dk(  r$t        |d   |d   |d   |d   |d   |d         }|S |d   dk(  r$t        |d   |d   |d   |d   |d   |d         }|S |d   dk(  r!t        ||d   |d   |d   |d   |d         }|S t               }|S )NSESSION_TYPEnullSESSION_PERMANENTTSESSION_USE_SIGNERFSESSION_KEY_PREFIXzsession:SESSION_REDISSESSION_MEMCACHEDSESSION_FILE_DIRflask_sessionSESSION_FILE_THRESHOLDi  SESSION_FILE_MODEi  SESSION_MONGODBSESSION_MONGODB_DBSESSION_MONGODB_COLLECTsessionsSESSION_SQLALCHEMYSESSION_SQLALCHEMY_TABLEredis	memcached
filesystemmongodb
sqlalchemy)configcopy
setdefaultospathjoingetcwdr   r   r   r   r	   r   )r   r   r/   r   s       r   r   zSession._get_interface4   s   ".&1-t4.6.
;/40-t4,'',,ryy{OD	F2C8-s3+T2.@3Z@.54jA.!W, 5'0D)E+,f5H.I!K6 ! 1 N#{2 9*+V4H-I+,f5H.I!K. ! ) N#|3 :)*F3K,L*+V4H-I+,f5H.I!K& !  N#y0 7()62F+G01+,f5I.J*+	!- !  N#|3 :V0112+,f5I.J*+	!- !  !5 6  r   r   )__name__
__module____qualname____doc__r   r   r    r   r   r   r   
   s    :
9.!r   r   )r2   r'   r   r   r   r   r   r	   __version__objectr   r:   r   r   <module>r=      s'    	8 8 X!f X!r   