1616import django .dispatch
1717from django .dispatch import receiver
1818from django .conf import settings
19- from DjangoBlog .utils import cache , send_email , expire_view_cache
19+ from DjangoBlog .utils import cache , send_email , expire_view_cache , get_blog_setting
2020from DjangoBlog .spider_notify import SpiderNotify
2121from django .contrib .sites .models import Site
22-
22+ from oauth . models import OAuthUser
2323import logging
2424
2525logger = logging .getLogger (__name__ )
2626
2727comment_save_signal = django .dispatch .Signal (providing_args = ["comment_id" , "username" , "serverport" ])
2828article_save_signal = django .dispatch .Signal (providing_args = ['id' , 'is_update_views' ])
2929user_login_logout_signal = django .dispatch .Signal (providing_args = ['id' , 'type' ])
30+ oauth_user_login_signal = django .dispatch .Signal (providing_args = ['id' ])
31+
32+
33+ @receiver (oauth_user_login_signal )
34+ def oauth_user_login_callback (sender , ** kwargs ):
35+ id = kwargs ['id' ]
36+ oauthuser = OAuthUser .objects .get (id = id )
37+ setting = get_blog_setting ()
38+ if oauthuser .picture and not oauthuser .picture .startswith (setting .resource_path ):
39+ from DjangoBlog .utils import save_user_avatar
40+ oauthuser .picture = save_user_avatar (oauthuser .picture )
41+ oauthuser .save ()
3042
3143
3244@receiver (article_save_signal )
@@ -49,22 +61,22 @@ def article_save_callback(sender, **kwargs):
4961 SpiderNotify .baidu_notify ([notify_url ])
5062 except Exception as ex :
5163 logger .error ("notify sipder" , ex )
52- print (ex )
64+
65+ from DjangoBlog .utils import cache
66+ cache .clear ()
5367
5468
5569@receiver (comment_save_signal )
5670def comment_save_callback (sender , ** kwargs ):
5771 from comments .models import Comment
58- if settings .DEBUG :
59- return
6072
6173 serverport = kwargs ['serverport' ]
6274 username = kwargs ['username' ]
6375 comment = Comment .objects .get (id = kwargs ['comment_id' ])
6476 site = Site .objects .get_current ().domain
6577 article = comment .article
66- # if not settings.DEBUG:
67- if True :
78+ if not settings .DEBUG :
79+
6880 subject = '感谢您发表的评论'
6981 article_url = "https://{site}{path}" .format (site = site , path = comment .article .get_absolute_url ())
7082 html_content = """
@@ -103,4 +115,5 @@ def comment_save_callback(sender, **kwargs):
103115 from django .core .cache .utils import make_template_fragment_key
104116
105117 key = make_template_fragment_key ('sidebar' , [username ])
118+ logger .info ('delete sidebar key:' + key )
106119 cache .delete (key )
0 commit comments