
    ~h%                     "    d dl Z  G d de      Zy)    Nc                   6     e Zd Z fdZddZed        Z xZS )OAuth2Tokenc                     |j                  d      rt        |d         |d<   n@|j                  d      r/t        t        j                               t        |d         z   |d<   t        |   |       y )N
expires_at
expires_in)getinttimesuper__init__)selfparams	__class__s     [/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/authlib/oauth2/rfc6749/wrappers.pyr   zOAuth2Token.__init__   s`    ::l##&vl';#<F< ZZ%#&tyy{#3c&:N6O#OF<      c                 b    | j                  d      }|sy ||z
  }|t        j                         k  S )Nr   )r   r
   )r   leewayr   expiration_thresholds       r   
is_expiredzOAuth2Token.is_expired   s2    XXl+
)F2#diik11r   c                 N    t        |t              rt        ||       s | |      }|S )N)
isinstancedict)clstokens     r   	from_dictzOAuth2Token.from_dict   s#    eT":eS+AJEr   )<   )__name__
__module____qualname__r   r   classmethodr   __classcell__)r   s   @r   r   r      s!    !2  r   r   )r
   r   r    r   r   <module>r#      s    $ r   