summaryrefslogtreecommitdiff
path: root/app/syndication/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/syndication/models.py')
-rw-r--r--app/syndication/models.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/app/syndication/models.py b/app/syndication/models.py
index 32b8dd3..946b5cf 100644
--- a/app/syndication/models.py
+++ b/app/syndication/models.py
@@ -1,4 +1,7 @@
from django.db import models
+from django.utils import timezone
+from django.conf import settings
+import datetime
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
from django.db.models.signals import post_save
@@ -7,6 +10,28 @@ from django.dispatch import receiver
from .syndicators import post_to_medium, build_facebook_feed, post_to_twitter, post_photo_to_flickr
+class FBOAuthToken(models.Model):
+ short_token = models.TextField()
+ long_token = models.TextField(null=True, blank=True)
+ expires = models.DateTimeField(blank=True)
+ created = models.DateTimeField(default=timezone.now)
+
+ def __str__(self):
+ return str(self.expires)
+
+ def long_token_link(self):
+ token_url = "https://graph.facebook.com/oauth/access_token?client_id=%s&client_secret=%s&grant_type=fb_exchange_token&fb_exchange_token=%s" % (settings.FACEBOOK_APP_ID, settings.FACEBOOK_APP_SECRET, self.short_token)
+ return token_url
+
+ class Meta:
+ ordering = ('-expires',)
+ get_latest_by = 'expires'
+
+ def save(self, *args, **kwargs):
+ self.expires = self.created + datetime.timedelta(60)
+ super(FBOAuthToken, self).save()
+
+
class Syndicate(models.Model):
name = models.CharField(max_length=200)
@@ -28,7 +53,7 @@ class SyndicatedItem(models.Model):
rel_link = models.CharField(max_length=300, null=True, blank=True)
def __str__(self):
- return self.content_object.title
+ return str(self.content_object)
def syndicated_to(self):
return ','.join(str(synd) for synd in self.syndicate.all())