Exemplo n.º 1
0
    def import_manual_vote(self, instance):
        fields = instance['fields']

        vote = Vote(
            date=date_parser.parse(fields['date']),
            kind=fields['kind'],
            name=fields['name'],
            text=fields['message'],
        )
        vote.save()
        vote.tracks.add(Track.objects.get(pk=fields['track']))
        vote.save()
Exemplo n.º 2
0
    def import_vote(self, instance):
        fields = instance['fields']
        this_vote_date = date_parser.parse(fields['date'])

        user_qs = TwitterUser.objects.filter(user_id=fields['user_id'])

        user_meta = {
            k: fields[k] for k in ['screen_name', 'user_image', 'name']
        }

        if user_qs.exists():
            user = user_qs.get()
            if user.updated < this_vote_date:
                for attr, value in user_meta.iteritems():
                    setattr(user, attr, value)
                user.updated = this_vote_date
                user.save()
        else:
            user = TwitterUser(
                user_id=fields['user_id'],
                updated=this_vote_date,
                **user_meta
            )
            user.save()

        track_pks = fields['tracks']
        if fields['track'] is not None:
            track_pks.append(fields['track'])

        tracks = []
        for track_pk in track_pks:
            tracks.append(Track.objects.get(pk=track_pk))

        if tracks:
            vote = Vote(
                date=this_vote_date,
                text=fields['text'],
                twitter_user=user,
                tweet_id=instance['pk']
            )

            vote.save()

            for track in tracks:
                vote.tracks.add(track)

            vote.save()
Exemplo n.º 3
0
    def import_manual_vote(self, instance):
        fields = instance['fields']

        vote = Vote(
            date=date_parser.parse(fields['date']),
            kind=fields['kind'],
            name=fields['name'],
            text=fields['message'],
        )
        vote.save()
        vote.tracks.add(Track.objects.get(pk=fields['track']))
        vote.save()
Exemplo n.º 4
0
    def import_vote(self, instance):
        fields = instance['fields']
        this_vote_date = date_parser.parse(fields['date'])

        user_qs = TwitterUser.objects.filter(user_id=fields['user_id'])

        user_meta = {
            k: fields[k] for k in ['screen_name', 'user_image', 'name']
        }

        if user_qs.exists():
            user = user_qs.get()
            if user.updated < this_vote_date:
                for attr, value in user_meta.iteritems():
                    setattr(user, attr, value)
                user.updated = this_vote_date
                user.save()
        else:
            user = TwitterUser(
                user_id=fields['user_id'],
                updated=this_vote_date,
                **user_meta
            )
            user.save()

        track_pks = fields['tracks']
        if fields['track'] is not None:
            track_pks.append(fields['track'])

        tracks = []
        for track_pk in track_pks:
            tracks.append(Track.objects.get(pk=track_pk))

        if tracks:
            vote = Vote(
                date=this_vote_date,
                text=fields['text'],
                twitter_user=user,
                tweet_id=instance['pk']
            )

            vote.save()

            for track in tracks:
                vote.tracks.add(track)

            vote.save()