From dcd4f22a7833eaa4b56a873b45f9ad5b523cfa29 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Tue, 2 Mar 2010 22:31:59 +0000 Subject: [PATCH] Added basic reddit model --- reddit/__init__.py | 0 reddit/models.py | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 reddit/__init__.py create mode 100644 reddit/models.py diff --git a/reddit/__init__.py b/reddit/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/reddit/models.py b/reddit/models.py new file mode 100644 index 0000000..358d9e5 --- /dev/null +++ b/reddit/models.py @@ -0,0 +1,47 @@ +from django.db import models +from django.contrib.auth.models import User +import simplejson as json +import urllib +from datetime import datetime + +class RedditAccount(models.Model): + """ + Represents a User ID on Reddit + """ + + user = models.ForeignKey(User, blank=True, null=True) + + username = models.CharField("Username", max_length=32, blank=False) + reddit_id = models.CharField("Reddit ID", max_length=32, blank=True) + + date_created = models.DateTimeField("Date Created", blank=True) + + link_karma = models.IntegerField("Link Karma", blank=True, null=True) + comment_karma = models.IntegerField("Comment Karma", blank=True, null=True) + + def save(self): + try: + jsondoc = json.load(urllib.urlopen("http://reddit.com/user/%s/about.json" % self.username)) + except: + raise self.DoesNotExist + + data = jsondoc['data'] + + self.link_karma = data['link_karma'] + self.comment_karma = data['comment_karma'] + self.reddit_id = data['id'] + self.date_created = datetime.fromtimestamp(data['created_utc']) + + return models.Model.save(self) + + class Meta: + app_label = 'reddit' + ordering = ['username'] + verbose_name = 'Reddit Account' + verbose_name_plural = 'Reddit Accounts' + + def __unicode__(self): + return self.username + + def __str__(self): + return self.__unicode__()