|
|
|
|
@ -16,10 +16,10 @@
|
|
|
|
|
import django.dispatch
|
|
|
|
|
from django.dispatch import receiver
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
from DjangoBlog.utils import cache, send_email, expire_view_cache
|
|
|
|
|
from DjangoBlog.utils import cache, send_email, expire_view_cache, get_blog_setting
|
|
|
|
|
from DjangoBlog.spider_notify import SpiderNotify
|
|
|
|
|
from django.contrib.sites.models import Site
|
|
|
|
|
|
|
|
|
|
from oauth.models import OAuthUser
|
|
|
|
|
import logging
|
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
@ -27,6 +27,18 @@ logger = logging.getLogger(__name__)
|
|
|
|
|
comment_save_signal = django.dispatch.Signal(providing_args=["comment_id", "username", "serverport"])
|
|
|
|
|
article_save_signal = django.dispatch.Signal(providing_args=['id', 'is_update_views'])
|
|
|
|
|
user_login_logout_signal = django.dispatch.Signal(providing_args=['id', 'type'])
|
|
|
|
|
oauth_user_login_signal = django.dispatch.Signal(providing_args=['id'])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(oauth_user_login_signal)
|
|
|
|
|
def oauth_user_login_callback(sender, **kwargs):
|
|
|
|
|
id = kwargs['id']
|
|
|
|
|
oauthuser = OAuthUser.objects.get(id=id)
|
|
|
|
|
setting = get_blog_setting()
|
|
|
|
|
if oauthuser.picture and not oauthuser.picture.startswith(setting.resource_path):
|
|
|
|
|
from DjangoBlog.utils import save_user_avatar
|
|
|
|
|
oauthuser.picture = save_user_avatar(oauthuser.picture)
|
|
|
|
|
oauthuser.save()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(article_save_signal)
|
|
|
|
|
@ -49,22 +61,22 @@ def article_save_callback(sender, **kwargs):
|
|
|
|
|
SpiderNotify.baidu_notify([notify_url])
|
|
|
|
|
except Exception as ex:
|
|
|
|
|
logger.error("notify sipder", ex)
|
|
|
|
|
print(ex)
|
|
|
|
|
|
|
|
|
|
from DjangoBlog.utils import cache
|
|
|
|
|
cache.clear()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(comment_save_signal)
|
|
|
|
|
def comment_save_callback(sender, **kwargs):
|
|
|
|
|
from comments.models import Comment
|
|
|
|
|
if settings.DEBUG:
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
serverport = kwargs['serverport']
|
|
|
|
|
username = kwargs['username']
|
|
|
|
|
comment = Comment.objects.get(id=kwargs['comment_id'])
|
|
|
|
|
site = Site.objects.get_current().domain
|
|
|
|
|
article = comment.article
|
|
|
|
|
# if not settings.DEBUG:
|
|
|
|
|
if True:
|
|
|
|
|
if not settings.DEBUG:
|
|
|
|
|
|
|
|
|
|
subject = '感谢您发表的评论'
|
|
|
|
|
article_url = "https://{site}{path}".format(site=site, path=comment.article.get_absolute_url())
|
|
|
|
|
html_content = """
|
|
|
|
|
@ -103,4 +115,5 @@ def comment_save_callback(sender, **kwargs):
|
|
|
|
|
from django.core.cache.utils import make_template_fragment_key
|
|
|
|
|
|
|
|
|
|
key = make_template_fragment_key('sidebar', [username])
|
|
|
|
|
logger.info('delete sidebar key:' + key)
|
|
|
|
|
cache.delete(key)
|
|
|
|
|
|