示例#1
0
    def save_tweet_data(self, k,v):
        # Get id of the user
        list_tweets = []

        id = int(k)
        tweet_sent = v


        print('id vale', id)

        user_sent = id
        # tweet=last_tweet.split(',')[1:2]
        print("save tweet ", tweet_sent)
        tweet = self.twitter.get_user_timeline(self.user, 1)
        # tweet = twitter.api.get_user(int_id).id_str

        print(tweet_sent)

        print(user_sent)
        print(datetime.datetime.now())

        list_tweets.append({'user_sent': user_sent, 'tweet_sent_message': tweet_sent,
                            'date_tweet_sent': datetime.datetime.now()})
        for item in list_tweets:
            a = SentDate(**item)
            a.save()
示例#2
0
    def save_tweet_data(self, k, v):
        # Get id of the user
        list_tweets = []

        id = int(k)
        tweet_sent = v

        print('id vale', id)

        user_sent = id
        # tweet=last_tweet.split(',')[1:2]
        print("save tweet ", tweet_sent)
        tweet = self.twitter.get_user_timeline(self.user, 1)
        # tweet = twitter.api.get_user(int_id).id_str

        print(tweet_sent)

        print(user_sent)
        print(datetime.datetime.now())

        list_tweets.append({
            'user_sent': user_sent,
            'tweet_sent_message': tweet_sent,
            'date_tweet_sent': datetime.datetime.now()
        })
        for item in list_tweets:
            a = SentDate(**item)
            a.save()
示例#3
0
    def retrieve_users(self, target_hashtag_idx, the_hashtags):
        """
         #retrieve all users that have used the selected hashtags and that have not received tweets recently (last 24 hours)
        :return: the list of selected  users
        """
        now = datetime.datetime.now()

        now = datetime.datetime.now()
        pop_user = []
        final_list = []
        print(target_hashtag_idx)
        the_target_hashtag = the_hashtags[target_hashtag_idx - 1]
        # this query gets the user_ids of those users that tweeted the selected hashtag
        users = Hashtag.select(Hashtag.user_of_hashtag).where(
            Hashtag.hashtag_text == the_target_hashtag)
        users_list = []
        for item in users:
            users_list.append(item.user_of_hashtag_id)
        print(users_list)
        selected_user = []
        # this query selects the datetime of the users that where retrieved with the last query (users who tweeted certain hashtag)
        for item in users_list:
            selected_user = SentDate.select(
                SentDate.user_sent, SentDate.date_tweet_sent,
                SentDate.tweet_sent_message).where(SentDate.user_sent == item)
            # if the user has been sent a tweet in the last 24 hours skip it
            print("selected users")
            for item in selected_user:
                print(item.user_sent_id)
            for item in selected_user:
                # print("printing selected user")
                # print (item.date_tweet_sent)
                # print(item.tweet_sent_message)
                # print(item.user_sent_id)

                date_retrieved = datetime.datetime.strptime(
                    item.date_tweet_sent, '%Y-%m-%d %H:%M:%S.%f')
                print('sent', date_retrieved)
                print('48 hours', now - datetime.timedelta(hours=48))
                if (now - datetime.timedelta(hours=48)) < date_retrieved:
                    print('Not have passed 48 hours, cannot send tweet')

                    if item.user_sent_id not in pop_user:
                        pop_user.append(item.user_sent_id)

        print("user to pop: ", pop_user)
        # only keeps the users that who didn't receive a tweet in the last 48 hours
        print('user_list', users_list)
        for elem in pop_user:
            users_list = [value for value in users_list if value != elem]

        print("final list", users_list)
        return users_list
示例#4
0
    def retrieve_users(self, target_hashtag_idx, the_hashtags):
        """
         #retrieve all users that have used the selected hashtags and that have not received tweets recently (last 24 hours)
        :return: the list of selected  users
        """
        now = datetime.datetime.now()

        now = datetime.datetime.now()
        pop_user = []
        final_list = []
        print(target_hashtag_idx)
        the_target_hashtag = the_hashtags[target_hashtag_idx - 1]
        # this query gets the user_ids of those users that tweeted the selected hashtag
        users = Hashtag.select(Hashtag.user_of_hashtag).where(Hashtag.hashtag_text == the_target_hashtag)
        users_list = []
        for item in users:
            users_list.append(item.user_of_hashtag_id)
        print(users_list)
        selected_user = []
        # this query selects the datetime of the users that where retrieved with the last query (users who tweeted certain hashtag)
        for item in users_list:
            selected_user = SentDate.select(SentDate.user_sent, SentDate.date_tweet_sent, SentDate.tweet_sent_message).where(SentDate.user_sent == item)
            # if the user has been sent a tweet in the last 24 hours skip it
            print("selected users")
            for item in selected_user:
                print(item.user_sent_id)
            for item in selected_user:
                # print("printing selected user")
                # print (item.date_tweet_sent)
                # print(item.tweet_sent_message)
                # print(item.user_sent_id)

                date_retrieved = datetime.datetime.strptime(item.date_tweet_sent, '%Y-%m-%d %H:%M:%S.%f')
                print('sent', date_retrieved)
                print('48 hours', now - datetime.timedelta(hours=48))
                if (now - datetime.timedelta(hours=48)) < date_retrieved:
                    print('Not have passed 48 hours, cannot send tweet')

                    if item.user_sent_id not in pop_user:
                        pop_user.append(item.user_sent_id)

        print("user to pop: ", pop_user)
        # only keeps the users that who didn't receive a tweet in the last 48 hours
        print('user_list', users_list)
        for elem in pop_user:
            users_list = [value for value in users_list if value != elem]

        print("final list", users_list)
        return users_list
示例#5
0
def insert_in_database(user, id_tweet, message, date):
    query_user = SentDate.create(user_sent=user, tweet_sent_message=message,
                                 date_tweet_sent=date)
    query_user.save()
示例#6
0
def insert_in_database(user, id_tweet, message, date):
    query_user = SentDate.create(user_sent=user,
                                 tweet_sent_message=message,
                                 date_tweet_sent=date)
    query_user.save()