master
Nick Sergeant 2011-10-02 16:07:47 -04:00
parent 33ac852f59
commit ff923ca447
3 changed files with 23 additions and 28 deletions

View File

@ -111,6 +111,7 @@ def snipts():
user=User.objects.get(id=user_id), user=User.objects.get(id=user_id),
public=public, public=public,
created=created, created=created,
modified=created,
) )
for t in parse_tag_input(tags): for t in parse_tag_input(tags):
snipt.tags.add(t) snipt.tags.add(t)
@ -142,6 +143,7 @@ def comments():
user=User.objects.get(id=user_id), user=User.objects.get(id=user_id),
comment=cmt, comment=cmt,
created=created, created=created,
modified=created,
) )
comment.save() comment.save()
except: except:

View File

@ -1,16 +1,14 @@
from tastypie.resources import ModelResource from tastypie.resources import ModelResource
from django.contrib.auth.models import User from django.contrib.auth.models import User
from snipts.models import Comment, Snipt from snipts.models import Comment, Snipt
from tastypie.cache import SimpleCache
from taggit.models import Tag
from tastypie import fields from tastypie import fields
from taggit.models import Tag
class PublicUserResource(ModelResource): class PublicUserResource(ModelResource):
class Meta: class Meta:
queryset = User.objects.all() queryset = User.objects.all()
resource_name = 'user' resource_name = 'user'
fields = ['username',] fields = ['username',]
cache = SimpleCache()
def dehydrate(self, bundle): def dehydrate(self, bundle):
bundle.data['url'] = 'https://snipt.net/%s/' % bundle.obj.username bundle.data['url'] = 'https://snipt.net/%s/' % bundle.obj.username
@ -18,43 +16,38 @@ class PublicUserResource(ModelResource):
class PublicCommentSniptResource(ModelResource): class PublicCommentSniptResource(ModelResource):
class Meta: class Meta:
queryset = Snipt.objects.filter(public=True).order_by('-created') queryset = Snipt.objects.filter(public=True).order_by('-created')
resource_name = 'snipt' resource_name = 'snipt'
fields = ['id',] fields = ['id',]
cache = SimpleCache()
class PublicTagResource(ModelResource): class PublicTagResource(ModelResource):
class Meta: class Meta:
queryset = Tag.objects.all() queryset = Tag.objects.all()
resource_name = 'tag' resource_name = 'tag'
fields = ['name', 'slug',] fields = ['name', '']
cache = SimpleCache()
class PublicCommentResource(ModelResource): class PublicCommentResource(ModelResource):
user = fields.ForeignKey(PublicUserResource, 'user') user = fields.ForeignKey(PublicUserResource, 'user')
snipt = fields.ForeignKey(PublicCommentSniptResource, 'snipt') snipt = fields.ForeignKey(PublicCommentSniptResource, 'snipt')
class Meta: class Meta:
queryset = Comment.objects.all() queryset = Comment.objects.all()
resource_name = 'comment' resource_name = 'comment'
fields = ['user', 'snipt', 'comment', 'created', 'modified',] fields = ['user', 'snipt', 'comment', 'created', 'modified',]
cache = SimpleCache()
class PublicSniptResource(ModelResource): class PublicSniptResource(ModelResource):
user = fields.ForeignKey(PublicUserResource, 'user') user = fields.ForeignKey(PublicUserResource, 'user')
comments = fields.ToManyField(PublicCommentResource, 'comment_set', comments = fields.ToManyField(PublicCommentResource, 'comment_set',related_name='comment')
related_name='comment') tags = fields.ToManyField(PublicTagResource, 'tags', related_name='tag')
tags = fields.ToManyField(PublicTagResource, 'tags', related_name='tag')
class Meta: class Meta:
queryset = Snipt.objects.filter(public=True).order_by('-created') queryset = Snipt.objects.filter(public=True).order_by('-created')
resource_name = 'snipt' resource_name = 'snipt'
fields = ['user', 'title', 'slug', 'tags', 'lexer', 'code', 'stylized', fields = ['user', 'title', 'slug', 'tags', 'lexer', 'code', 'stylized'
'created', 'modified',] 'created', 'modified',]
cache = SimpleCache()
def dehydrate(self, bundle): def dehydrate(self, bundle):
bundle.data['url'] = bundle.obj.get_absolute_url() bundle.data['url'] = bundle.obj.get_absolute_url()
bundle.data['user_username'] = bundle.obj.user.username bundle.data['user_username'] = bundle.obj.user.username
bundle.data['user_url'] = 'https://snipt.net/%s/' % bundle.obj.user.username bundle.data['user_url'] = 'https://snipt.net/%s/' % bundle.obj.user.username
return bundle return bundle

View File

@ -23,7 +23,7 @@ class Snipt(models.Model):
# TODO Set auto_now_add back to True for production! # TODO Set auto_now_add back to True for production!
created = models.DateTimeField(auto_now_add=False, editable=False) created = models.DateTimeField(auto_now_add=False, editable=False)
modified = models.DateTimeField(auto_now=True, editable=False) modified = models.DateTimeField(auto_now=False, editable=False)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if not self.slug: if not self.slug:
@ -35,7 +35,7 @@ class Snipt(models.Model):
return self.title return self.title
def get_absolute_url(self): def get_absolute_url(self):
return "https://snipt.net/%s/%s/" % (self.user.username, self.slug) return "/%s/%s/" % (self.user.username, self.slug)
class Comment(models.Model): class Comment(models.Model):
"""A comment on a Snipt""" """A comment on a Snipt"""
@ -47,7 +47,7 @@ class Comment(models.Model):
# TODO Set auto_now_add back to True for production! # TODO Set auto_now_add back to True for production!
created = models.DateTimeField(auto_now_add=False, editable=False) created = models.DateTimeField(auto_now_add=False, editable=False)
modified = models.DateTimeField(auto_now=True, editable=False) modified = models.DateTimeField(auto_now=False, editable=False)
def __unicode__(self): def __unicode__(self):
return u'%s on %s' %(self.user, self.snipt) return u'%s on %s' %(self.user, self.snipt)