self.save() def get_profile_image(self): return self.profile_image_url or reverse( 'site-media', kwargs={'path': 'static/images/profiles/default.png'}) def __unicode__(self): return "Profile: %s" % self.screen_name # signal processing def create_profile(user, screen_name, user_id, *args, **kwargs): """ Create a new profile when a user is created. """ Profile.objects.create(user=user, screen_name=screen_name, twitter_id=user_id) def update_twitter_info(user, *args, **kwargs): """ Update a users profile information using information from twitter. """ profile = user.get_profile() profile.update_profile() twitter_user_created.connect(create_profile) twitter_user_authenticated.connect(update_twitter_info)
def oauth_token(self): return self.twitterauth.oauth_token @property def oauth_secret(self): return self.twitterauth.oauth_secret User.__bases__ += (TwitterAuthMixin,) class TwitterAuth(models.Model): user = models.OneToOneField(User) oauth_token = models.CharField(max_length=200) oauth_secret = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) def __unicode__(self): return self.user.username def create_twitter_auth(user, *args, **kwargs): """ Signal is called to create a twitter auth model instance. """ TwitterAuth.objects.create(user=user) twitter_user_created.connect(create_twitter_auth)
""" Gives the User access to the relavent twitter information. """ @property def oauth_token(self): return self.twitterauth.oauth_token @property def oauth_secret(self): return self.twitterauth.oauth_secret User.__bases__ += (TwitterAuthMixin,) class TwitterAuth(models.Model): user = models.OneToOneField(User) oauth_token = models.CharField(max_length=200) oauth_secret = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) def __unicode__(self): return self.user.username def create_twitter_auth(user, *args, **kwargs): """ Signal is called to create a twitter auth model instance. """ TwitterAuth.objects.create(user=user,) twitter_user_created.connect(create_twitter_auth)
response = twitter_api.account.verify_credentials() self.profile_image_url = response[u'profile_image_url'] self.verified = response[u'verified'] self.save() def get_profile_image(self): return self.profile_image_url or reverse('site-media', kwargs={'path' : 'static/images/profiles/default.png'}) def __unicode__(self): return "Profile: %s" % self.screen_name # signal processing def create_profile(user, screen_name, user_id, *args, **kwargs): """ Create a new profile when a user is created. """ Profile.objects.create(user=user, screen_name=screen_name, twitter_id=user_id) def update_twitter_info(user, *args, **kwargs): """ Update a users profile information using information from twitter. """ profile = user.get_profile() profile.update_profile() twitter_user_created.connect(create_profile) twitter_user_authenticated.connect(update_twitter_info)