
    D6i              
       ^    d dl mZ d dlmZ d dlmZ dZ	 	 d	ddddddddddZ ed       Zy)
    )g)
LocalProxy)OAuth2ConsumerBlueprintz(David Baumgold <david@davidbaumgold.com>N)scoperedirect_urlredirect_to	login_urlauthorized_urlsession_classstoragerule_kwargsc                    |xs dg}t        dt        | ||dddddi|||||||	      d	j                  d
<   dj                  d<   j                  fd       }
S )aR  
    Make a blueprint for authenticating with Meetup using OAuth 2. This requires
    an OAuth consumer from Meetup. You should either pass the key and secret to
    this constructor, or make sure that your Flask application config defines
    them, using the variables :envvar:`MEETUP_OAUTH_CLIENT_ID` and
    :envvar:`MEETUP_OAUTH_CLIENT_SECRET`.

    Args:
        key (str): The OAuth consumer key for your application on Meetup
        secret (str): The OAuth consumer secret for your application on Meetup
        scope (str, optional): comma-separated list of scopes for the OAuth token
        redirect_url (str): the URL to redirect to after the authentication
            dance is complete
        redirect_to (str): if ``redirect_url`` is not defined, the name of the
            view to redirect to after the authentication dance is complete.
            The actual URL will be determined by :func:`flask.url_for`
        login_url (str, optional): the URL path for the ``login`` view.
            Defaults to ``/meetup``
        authorized_url (str, optional): the URL path for the ``authorized`` view.
            Defaults to ``/meetup/authorized``.
        session_class (class, optional): The class to use for creating a
            Requests session. Defaults to
            :class:`~flask_dance.consumer.requests.OAuth2Session`.
        storage: A token storage class, or an instance of a token storage
                class, to use for this blueprint. Defaults to
                :class:`~flask_dance.consumer.storage.session.SessionStorage`.
        rule_kwargs (dict, optional): Additional arguments that should be passed when adding
            the login and authorized routes. Defaults to ``None``.

    :rtype: :class:`~flask_dance.consumer.OAuth2ConsumerBlueprint`
    :returns: A :doc:`blueprint <flask:blueprints>` to attach to your Flask app.
    basicmeetupzhttps://api.meetup.com/2/z*https://secure.meetup.com/oauth2/authorizez'https://secure.meetup.com/oauth2/accessinclude_client_idT)	client_idclient_secretr   base_urlauthorization_url	token_urltoken_url_paramsr   r   r	   r
   r   r   r   MEETUP_OAUTH_CLIENT_IDr   MEETUP_OAUTH_CLIENT_SECRETr   c                  0     j                   t        _        y N)sessionr   flask_dance_meetup)	meetup_bps   ]/home/azureuser/techstart-app/venv/lib/python3.12/site-packages/flask_dance/contrib/meetup.pyset_applocal_sessionz3make_meetup_blueprint.<locals>.set_applocal_sessionL   s    (00    )r   __name__from_configbefore_app_request)keysecretr   r   r   r	   r
   r   r   r   r    r   s              @r   make_meetup_blueprintr'   	   s    Z gYE',F;-t4!%#!I$ *BI+&-II/*!!1 "1 r!   c                  "    t         j                  S r   )r   r    r!   r   <lambda>r*   S   s    A00 r!   )NN)	flaskr   werkzeug.localr   flask_dance.consumerr   __maintainer__r'   r   r)   r!   r   <module>r/      sO     % 8; 	G GT 
0	1r!   