Example #1
0
def fetch_snow_tweets():
    logging.info("Fetching tweets for tag #uksnow")
    key = 'uksnow'
    feeditemcount = 1
    latest_cached = 0
    since_id = models.get_from_keystore(key)
    tweets = twitter.get_twitter_search('uksnow&filter=links', since_id)
    for tweet in tweets['results']:
        if feeditemcount == 1:
            try:
                latest_cached = str(tweet['id'])
            except:
                latest_cached = 0
        taskqueue.add(url='/services/store_tweet',
                      params={
                          'userid': tweet['from_user_id'],
                          'username': tweet['from_user'],
                          'imgurl': tweet['profile_image_url'],
                          'message': tweet['text'],
                          'messageid': tweet['id'],
                          'message_created': tweet['created_at'],
                          'geo': tweet['geo'],
                      })
        feeditemcount += 1
    if latest_cached > 0:
        models.add_to_keystore(key, latest_cached)
def get_search(query):
	key = "search_" + query
	since_id = models.get_from_keystore(key)
	if not since_id:
		since_id = "1"
	url = "http://search.twitter.com/search.json?q=" + query + "&rpp=100&since_id=" + since_id
	messages = get_from_twitter(url)
	return messages, url
Example #3
0
def get_id_for_tweet():
    current_id = models.get_from_keystore("tweet_id")
    id_as_number = int(current_id)
    next_id = id_as_number + 1
    models.add_to_keystore("tweet_id", str(next_id))
    t = datetime.datetime.now()
    secs = time.mktime(t.timetuple())
    milis = int(secs)
    id_plus_currenttime = str(milis) + current_id
    return int(id_plus_currenttime)
Example #4
0
def get_id_for_tweet():
    current_id = models.get_from_keystore("tweet_id")
    id_as_number = int(current_id)
    next_id = id_as_number + 1
    models.add_to_keystore("tweet_id", str(next_id))
    t = datetime.datetime.now()
    secs = time.mktime(t.timetuple())
    milis = int(secs)
    id_plus_currenttime = str(milis) + current_id
    return int(id_plus_currenttime)
def handle_searches(messages, searchtag):
	i = 0
	searchtag = "search_" + searchtag
	since_id = models.get_from_keystore(searchtag)
	hasurl = False
	highest_message_id = 0
	for message in messages:
		if i == 0:
			highest_message_id = str(message['id'])
			i = 1
		if int(message['id']) > int(since_id):
			if "http://" in message['text'].lower():
				messageelements = message['text'].split(" ")
				newmessageelements = []
				for messageelement in messageelements:
					if messageelement[0:7].lower() == "http://":
						newmessageelements.append("<a href='"+ messageelement +"' target='_new'>"+ messageelement +"</a>")
					else:
						newmessageelements.append(messageelement)
				markedupmessage = " ".join(newmessageelements)
			else:
				markedupmessage = message['text']
			if "@" in markedupmessage:
				messageelements = markedupmessage.split(" ")
				newmessageelements = []
				for messageelement in messageelements:
					if messageelement[0:1].lower() == "@":
						if len(messageelement) > 1:
							newmessageelements.append("<a href='http://twitter.com/"+ messageelement[1: len(messageelement)] +"' target='_new'>"+ messageelement +"</a>")
					else:
						newmessageelements.append(messageelement)
				markedupmessage = " ".join(newmessageelements)
			if "#" in markedupmessage:
				messageelements = markedupmessage.split(" ")
				newmessageelements = []
				for messageelement in messageelements:
					if messageelement[0:1].lower() == "#":
						if len(messageelement) > 1:
							newmessageelements.append("<span class='hashtag' id='"+ messageelement[1: len(messageelement)] +"'>"+ messageelement +"</span>")
					else:
						newmessageelements.append(messageelement)
				markedupmessage = " ".join(newmessageelements)
			models.cache_message(message['profile_image_url'], "searches", message['id'], message['from_user_id'], message['from_user'], markedupmessage, message['created_at'], message_tag=searchtag)
	if highest_message_id > 0:
		models.add_to_keystore(searchtag, highest_message_id)
	return messages, hasurl