Example #1
0
def refresh_status_by_site(request):
    if request.is_ajax():
        json_data = json.loads(request.body)
        try:
            site_type = json_data['site_type']
        except KeyError:
            return HttpResponse(False)
        user = request.user
        flr_list = Follower.objects.filter(user=user)
        if site_type == 'twitter':
            act_list = []
            since_id = json_data.get('since_id', None)
            for flr in flr_list:
                try:
                    act_list.append(TwAccount.objects.get(follower=flr))
                except TwAccount.DoesNotExist:
                    pass
            status_list = TwStatusView.refresh_status(act_list, since_id)
            return JsonResponse({'status_list': status_list})
        elif site_type == 'quora':
            act_list = []
            for flr in flr_list:
                try:
                    act_list.append(QrAccount.objects.get(follower=flr))
                except QrAccount.DoesNotExist:
                    pass
            status_list = QrStatusView.refresh_status(act_list)
            return JsonResponse({'status_list': status_list})
    raise Http404
Example #2
0
def refresh_status_by_flr(request):
    if request.is_ajax():
        json_data = json.loads(request.body)
        try:
            flr_name = json_data['flr_name']
        except KeyError:
            return HttpResponse(False)
        lt_st_time = json_data.get('lt_st_time', None)
        status_list = []
        try:
            tw_account = TwAccount.objects.get(follower__name=flr_name)
            status_list.extend(TwStatusView.refresh_status([tw_account, ]))
        except TwAccount.DoesNotExist:
            pass
        try:
            qr_account = QrAccount.objects.get(follower__name=flr_name)
            status_list.extend(QrStatusView.refresh_status([qr_account, ]))
        except QrAccount.DoesNotExist:
            pass
        sorted_status_list = sorted(status_list, key=lambda status: status['time_stamp'], reverse=True)
        if lt_st_time:
            raw_struct_time = time.strptime(lt_st_time, '%Y-%m-%d %H:%M:%S')
            lt_st_time_epoch = time.mktime(raw_struct_time)
            sorted_status_list = filter(time_filter_wrapper(lt_st_time_epoch), sorted_status_list)
        elif len(sorted_status_list) > 10:
            sorted_status_list = sorted_status_list[:10]

        # sorted_status_list = sorted(status_list, key=lambda tw_status: tw_status['id'], cmp=status_cmp)
        return JsonResponse({'status_list': sorted_status_list})
    raise Http404
Example #3
0
def refresh_status_by_site(request):
    if request.is_ajax():
        json_data = json.loads(request.body)
        try:
            site_type = json_data['site_type']
        except KeyError:
            return HttpResponse(False)
        user = request.user
        flr_list = Follower.objects.filter(user=user)
        if site_type == 'twitter':
            act_list = []
            since_id = json_data.get('since_id', None)
            for flr in flr_list:
                try:
                    act_list.append(TwAccount.objects.get(follower=flr))
                except TwAccount.DoesNotExist:
                    pass
            status_list = TwStatusView.refresh_status(act_list, since_id)
            return JsonResponse({'status_list': status_list})
        elif site_type == 'quora':
            act_list = []
            for flr in flr_list:
                try:
                    act_list.append(QrAccount.objects.get(follower=flr))
                except QrAccount.DoesNotExist:
                    pass
            status_list = QrStatusView.refresh_status(act_list)
            return JsonResponse({'status_list': status_list})
    raise Http404
    def test_refresh_status(self):
        self.set_up()
        follower = Follower(name='testFollower', user=self.user)
        follower.save()
        tw_account = TwAccount(follower=follower, act_id='3991423984', screen_name='charleszhuochen')
        tw_account.save()

        tw_account_list = [tw_account, ]
        since_id = None
        status_list = TwStatusView.refresh_status(tw_account_list, since_id)
        print(status_list[0]['created_at'])
        latest_status = TwStatus.objects.get(id=status_list[0]['id'])
        print(latest_status.created_at)
        self.assertEqual(10, len(status_list))
        since_id = int(status_list[0]['id'])
        status_list = TwStatusView.refresh_status(tw_account_list, since_id)
        self.assertEqual(0, len(status_list))
    def test_refresh_status(self):
        self.set_up()
        follower = Follower(name='testFollower', user=self.user)
        follower.save()
        tw_account = TwAccount(follower=follower,
                               act_id='3991423984',
                               screen_name='charleszhuochen')
        tw_account.save()

        tw_account_list = [
            tw_account,
        ]
        since_id = None
        status_list = TwStatusView.refresh_status(tw_account_list, since_id)
        print(status_list[0]['created_at'])
        latest_status = TwStatus.objects.get(id=status_list[0]['id'])
        print(latest_status.created_at)
        self.assertEqual(10, len(status_list))
        since_id = int(status_list[0]['id'])
        status_list = TwStatusView.refresh_status(tw_account_list, since_id)
        self.assertEqual(0, len(status_list))
Example #6
0
def refresh_status_by_flr(request):
    if request.is_ajax():
        json_data = json.loads(request.body)
        try:
            flr_name = json_data['flr_name']
        except KeyError:
            return HttpResponse(False)
        lt_st_time = json_data.get('lt_st_time', None)
        status_list = []
        try:
            tw_account = TwAccount.objects.get(follower__name=flr_name)
            status_list.extend(TwStatusView.refresh_status([
                tw_account,
            ]))
        except TwAccount.DoesNotExist:
            pass
        try:
            qr_account = QrAccount.objects.get(follower__name=flr_name)
            status_list.extend(QrStatusView.refresh_status([
                qr_account,
            ]))
        except QrAccount.DoesNotExist:
            pass
        sorted_status_list = sorted(status_list,
                                    key=lambda status: status['time_stamp'],
                                    reverse=True)
        if lt_st_time:
            raw_struct_time = time.strptime(lt_st_time, '%Y-%m-%d %H:%M:%S')
            lt_st_time_epoch = time.mktime(raw_struct_time)
            sorted_status_list = filter(time_filter_wrapper(lt_st_time_epoch),
                                        sorted_status_list)
        elif len(sorted_status_list) > 10:
            sorted_status_list = sorted_status_list[:10]

        # sorted_status_list = sorted(status_list, key=lambda tw_status: tw_status['id'], cmp=status_cmp)
        return JsonResponse({'status_list': sorted_status_list})
    raise Http404