
    Tњh                     Z    S SK Jr  S SKJr  S SKJr   " S S\5      r " S S\5      r\/rg)	    )ProviderAccount)DoubanOAuth2Adapter)OAuth2Providerc                        \ rS rSrS rS rSrg)DoubanAccount   c                 L    U R                   R                  R                  S5      $ )Naltaccount
extra_datagetselfs    jD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/socialaccount/providers/douban/provider.pyget_profile_urlDoubanAccount.get_profile_url   s    ||&&**511    c                 L    U R                   R                  R                  S5      $ )Nlarge_avatarr   r   s    r   get_avatar_urlDoubanAccount.get_avatar_url
   s    ||&&**>::r    N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r   r   r   r   r      s    2;r   r   c                   0    \ rS rSrSrSr\r\r	S r
S rSrg)DoubanProvider   doubanDoubanc                     US   $ )Nidr   r   datas     r   extract_uidDoubanProvider.extract_uid   s    Dzr   c                 2    US   UR                  SS5      S.$ )au  
Extract data from profile json to populate user instance.

In Douban profile API:

- id: a digital string, will never change
- uid: defaults to id, but can be changed once, used in profile
  url, like slug
- name: display name, can be changed every 30 days

So we should use `id` as username here, other than `uid`.
Also use `name` as `first_name` for displaying purpose.
r%   name )username
first_name)r   r&   s     r   extract_common_fields$DoubanProvider.extract_common_fields   s#     T
((62.
 	
r   r   N)r   r   r   r   r%   r+   r   account_classr   oauth2_adapter_classr(   r/   r   r   r   r   r    r       s!    	BD!M.
r   r    N)	$allauth.socialaccount.providers.baser   ,allauth.socialaccount.providers.douban.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r   r    provider_classesr   r   r   <module>r7      s1    @ L J;O ;
^ 
: ## r   