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

View File

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

View File

@ -23,7 +23,7 @@ class Snipt(models.Model):
# TODO Set auto_now_add back to True for production!
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):
if not self.slug:
@ -35,7 +35,7 @@ class Snipt(models.Model):
return self.title
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):
"""A comment on a Snipt"""
@ -47,7 +47,7 @@ class Comment(models.Model):
# TODO Set auto_now_add back to True for production!
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):
return u'%s on %s' %(self.user, self.snipt)