Example #1
0
def UnfollowMemberHandler(request, one_num):
    if request.method == 'GET':
        if 'HTTP_REFERER' in request.META:
            go = request.META['HTTP_REFERER']
        else:
            go = '/'
        member = CheckAuth(request)
        if member:
            one = GetKindByNum('Member', int(one_num))
            if one is not False:
                if one.num != member.num:
                    q = MemberBookmark.objects.filter(one=one, member_num=member.num)
                    if len(q) > 0:
                        bookmark = q[0]
                        bookmark.delete()
                        member = Member.objects.get(id=member.id)
                        member.favorited_members = member.favorited_members - 1
                        member.save()
                        memcache.set('Member_' + str(member.num), member, 86400)
                        n = 'r/m' + str(one.num) + '/m' + str(member.num)
                        memcache.delete(n)
                        one = Member.objects.get(id=one.id)
                        one.followers_count = one.followers_count - 1
                        one.save()
                        memcache.set('Member_' + str(one.num), one, 86400)
                        memcache.set('Member::' + str(one.username_lower), one, 86400)
        return HttpResponseRedirect(go)
Example #2
0
def UnfollowMemberHandler(request, one_num):
    if request.method == 'GET':
        if 'HTTP_REFERER' in request.META:
            go = request.META['HTTP_REFERER']
        else:
            go = '/'
        member = CheckAuth(request)
        if member:
            one = GetKindByNum('Member', int(one_num))
            if one is not False:
                if one.num != member.num:
                    q = MemberBookmark.objects.filter(one=one,
                                                      member_num=member.num)
                    if len(q) > 0:
                        bookmark = q[0]
                        bookmark.delete()
                        member = Member.objects.get(id=member.id)
                        member.favorited_members = member.favorited_members - 1
                        member.save()
                        memcache.set('Member_' + str(member.num), member,
                                     86400)
                        n = 'r/m' + str(one.num) + '/m' + str(member.num)
                        memcache.delete(n)
                        one = Member.objects.get(id=one.id)
                        one.followers_count = one.followers_count - 1
                        one.save()
                        memcache.set('Member_' + str(one.num), one, 86400)
                        memcache.set('Member::' + str(one.username_lower), one,
                                     86400)
        return HttpResponseRedirect(go)
Example #3
0
def Task_NotificationsReplyHandler(reply_id):
    try:
        reply = Reply.objects.get(id=reply_id)
        topic = GetKindByNum('Topic', reply.topic_num)
        ms = re.findall('(@[a-zA-Z0-9\_]+\.?)\s?', reply.content)
        keys = []
        if (len(ms) > 0):
            for m in ms:
                m_id = re.findall('@([a-zA-Z0-9\_]+\.?)', m)
                if (len(m_id) > 0):
                    if (m_id[0].endswith('.') != True):
                        member_username = m_id[0]
                        member = GetMemberByUsername(member_username)
                        if member:
                            if member.id != topic.member.id and member.id != reply.member.id and member.id not in keys:
                                q = Counter.objects.filter(
                                    name='notification.max')
                                if (len(q) == 1):
                                    counter = q[0]
                                    counter.value = counter.value + 1
                                else:
                                    counter = Counter()
                                    counter.name = 'notification.max'
                                    counter.value = 1
                                q2 = Counter.objects.filter(
                                    name='notification.total')
                                if (len(q2) == 1):
                                    counter2 = q2[0]
                                    counter2.value = counter2.value + 1
                                else:
                                    counter2 = Counter()
                                    counter2.name = 'notification.total'
                                    counter2.value = 1

                                notification = Notification()
                                notification.num = counter.value
                                notification.type = 'mention_reply'
                                notification.payload = reply.content
                                notification.label1 = topic.title
                                notification.link1 = '/t/' + str(
                                    topic.num) + '#reply' + str(topic.replies)
                                notification.member = reply.member
                                notification.for_member_num = member.num

                                keys.append(member.id)

                                counter.save()
                                counter2.save()
                                notification.save()
        ITQM = ITaskQueueManage()
        for k in keys:
            ITQM.add(data='/notifications/check/' + str(k))
    except:
        print "itaskqueue.py - Task_NotificationsReplyHandler error:" + str(
            sys.exc_info())
Example #4
0
File: t.py Project: minisin/woosuko
def TwitterUnlinkHandler(request):
    if request.method == 'GET':
        member = CheckAuth(request)
        if member:
            memcache.delete('Member_' + str(member.num))
            member = GetKindByNum('Member', member.num)
            member.twitter_oauth = 0
            member.twitter_oauth_key = ''
            member.twitter_oauth_secret = ''
            member.twitter_sync = 0
            member.save()
            memcache.set('Member_' + str(member.num), member, 86400)
            return HttpResponseRedirect('/settings')
        else:
            return HttpResponseRedirect('/signin')
Example #5
0
def UnfavoriteTopicHandler(request, topic_num):
    if request.method == 'GET':
        if 'HTTP_REFERER' in request.META:
            go = request.META['HTTP_REFERER']
        else:
            go = '/'
        member = CheckAuth(request)
        if member:
            topic = GetKindByNum('Topic', int(topic_num))
            if topic is not False:
                q = TopicBookmark.objects.filter(topic=topic, member=member)
                if len(q) > 0:
                    bookmark = q[0]
                    bookmark.delete()
                    member = Member.objects.get(id=member.id)
                    member.favorited_topics = member.favorited_topics - 1
                    member.save()
                    memcache.set('Member_' + str(member.num), member, 86400)
                    n = 'r/t' + str(topic.num) + '/m' + str(member.num)
                    memcache.delete(n)
                    MinusStarTopicHandler(topic.id)
        return HttpResponseRedirect(go)
Example #6
0
def FollowMemberHandler(request, one_num):
    if request.method == 'GET':
        if 'HTTP_REFERER' in request.META:
            go = request.META['HTTP_REFERER']
        else:
            go = '/'
        member = CheckAuth(request)
        if member:
            one = GetKindByNum('Member', int(one_num))
            if one is not False:
                if one.num != member.num:
                    q = MemberBookmark.objects.filter(one=one, member_num=member.num)
                    if len(q) == 0:
                        member = Member.objects.get(id=member.id)
                        member.favorited_members = member.favorited_members + 1
                        if member.favorited_members > 30:
                            session = request.session
                            session['message'] = '最多只能添加 30 位特别关注'
                        else:
                            bookmark = MemberBookmark()
                            bookmark.one = one
                            bookmark.member_num = member.num
                            bookmark.save()
                            member.save()
                            memcache.set('Member_' + str(member.num), member, 86400)
                            n = 'r/m' + str(one.num) + '/m' + str(member.num)
                            memcache.set(n, True, 86400 * 14)
                            one = Member.objects.get(id=one.id)
                            one.followers_count = one.followers_count + 1
                            memcache.set('Member_' + str(one.num), one, 86400)
                            memcache.set('Member::' + str(one.username_lower), one, 86400)
                            session = request.session
                            session['message'] = '特别关注添加成功,还可以添加 ' + str(30 - member.favorited_members) + ' 位'
                            # Send notification to following
                            q = Counter.objects.filter(name='notification.max')
                            if (len(q) == 1):
                                counter = q[0]
                                counter.value = counter.value + 1
                            else:
                                counter = Counter()
                                counter.name = 'notification.max'
                                counter.value = 1
                            q2 = Counter.objects.filter(name='notification.total')
                            if (len(q2) == 1):
                                counter2 = q2[0]
                                counter2.value = counter2.value + 1
                            else:
                                counter2 = Counter()
                                counter2.name = 'notification.total'
                                counter2.value = 1

                            notification = Notification()
                            notification.num = counter.value
                            notification.type = 'follow'
                            notification.payload = ''
                            notification.label1 = ''
                            notification.link1 = ''
                            notification.member = member
                            notification.for_member_num = one.num

                            one.notifications = one.notifications + 1

                            one.save()
                            counter.save()
                            counter2.save()
                            notification.save()
        return HttpResponseRedirect(go)
Example #7
0
def FollowMemberHandler(request, one_num):
    if request.method == 'GET':
        if 'HTTP_REFERER' in request.META:
            go = request.META['HTTP_REFERER']
        else:
            go = '/'
        member = CheckAuth(request)
        if member:
            one = GetKindByNum('Member', int(one_num))
            if one is not False:
                if one.num != member.num:
                    q = MemberBookmark.objects.filter(one=one,
                                                      member_num=member.num)
                    if len(q) == 0:
                        member = Member.objects.get(id=member.id)
                        member.favorited_members = member.favorited_members + 1
                        if member.favorited_members > 30:
                            session = request.session
                            session['message'] = '最多只能添加 30 位特别关注'
                        else:
                            bookmark = MemberBookmark()
                            bookmark.one = one
                            bookmark.member_num = member.num
                            bookmark.save()
                            member.save()
                            memcache.set('Member_' + str(member.num), member,
                                         86400)
                            n = 'r/m' + str(one.num) + '/m' + str(member.num)
                            memcache.set(n, True, 86400 * 14)
                            one = Member.objects.get(id=one.id)
                            one.followers_count = one.followers_count + 1
                            memcache.set('Member_' + str(one.num), one, 86400)
                            memcache.set('Member::' + str(one.username_lower),
                                         one, 86400)
                            session = request.session
                            session['message'] = '特别关注添加成功,还可以添加 ' + str(
                                30 - member.favorited_members) + ' 位'
                            # Send notification to following
                            q = Counter.objects.filter(name='notification.max')
                            if (len(q) == 1):
                                counter = q[0]
                                counter.value = counter.value + 1
                            else:
                                counter = Counter()
                                counter.name = 'notification.max'
                                counter.value = 1
                            q2 = Counter.objects.filter(
                                name='notification.total')
                            if (len(q2) == 1):
                                counter2 = q2[0]
                                counter2.value = counter2.value + 1
                            else:
                                counter2 = Counter()
                                counter2.name = 'notification.total'
                                counter2.value = 1

                            notification = Notification()
                            notification.num = counter.value
                            notification.type = 'follow'
                            notification.payload = ''
                            notification.label1 = ''
                            notification.link1 = ''
                            notification.member = member
                            notification.for_member_num = one.num

                            one.notifications = one.notifications + 1

                            one.save()
                            counter.save()
                            counter2.save()
                            notification.save()
        return HttpResponseRedirect(go)