Skip to content

Instantly share code, notes, and snippets.

@timmyomahony
Created September 26, 2012 06:48
Show Gist options
  • Save timmyomahony/3786471 to your computer and use it in GitHub Desktop.
Save timmyomahony/3786471 to your computer and use it in GitHub Desktop.
Template tag to grab latest Twitter status (with tweepy)
import tweepy
import inspect
import re
from django.conf import settings
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
class LatestStatus(template.Node):
def __init__(self, var):
self.var = var
def render(self, context):
auth = tweepy.OAuthHandler(settings.TWITTER_CONSUMER_KEY, settings.TWITTER_CONSUMER_SECRET)
auth.set_access_token(settings.TWITTER_ACCESS_KEY, settings.TWITTER_ACCESS_SECRET)
api = tweepy.API(auth)
context[self.var] = api.user_timeline()[0]
return ''
def latest_status(parser, token):
try:
bits = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError("%r tag requires arguments" % bits[0])
if bits[1] != 'as':
raise TemplateSyntaxError("%r tag's second argument must be 'as'" % bits[0])
if len(bits) != 3:
raise TemplateSyntaxError("%r tag's requires exactly 2 arguments" % bits[0])
return LatestStatus(bits[2])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment