Disable tags from the API until we can fix it.
parent
991e454cd6
commit
53de366909
102
snipts/api.py
102
snipts/api.py
|
@ -190,38 +190,38 @@ class PublicUserResource(ModelResource):
|
||||||
bundle.data['email_md5'] = hashlib.md5(bundle.obj.email.lower()).hexdigest()
|
bundle.data['email_md5'] = hashlib.md5(bundle.obj.email.lower()).hexdigest()
|
||||||
return bundle
|
return bundle
|
||||||
|
|
||||||
class PublicTagResource(ModelResource):
|
# class PublicTagResource(ModelResource):
|
||||||
class Meta:
|
# class Meta:
|
||||||
queryset = Tag.objects.filter(snipt__public=True)
|
# queryset = Tag.objects.filter(snipt__public=True)
|
||||||
queryset = queryset.annotate(count=models.Count('taggit_taggeditem_items__id'))
|
# queryset = queryset.annotate(count=models.Count('taggit_taggeditem_items__id'))
|
||||||
queryset = queryset.order_by('-count', 'name')
|
# queryset = queryset.order_by('-count', 'name')
|
||||||
resource_name = 'tag'
|
# resource_name = 'tag'
|
||||||
fields = ['id', 'name',]
|
# fields = ['id', 'name',]
|
||||||
allowed_methods = ['get']
|
# allowed_methods = ['get']
|
||||||
max_limit = 200
|
# max_limit = 200
|
||||||
cache = SimpleCache()
|
# cache = SimpleCache()
|
||||||
|
|
||||||
def build_filters(self, filters=None):
|
# def build_filters(self, filters=None):
|
||||||
if filters is None:
|
# if filters is None:
|
||||||
filters = {}
|
# filters = {}
|
||||||
|
|
||||||
orm_filters = super(PublicTagResource, self).build_filters(filters)
|
# orm_filters = super(PublicTagResource, self).build_filters(filters)
|
||||||
|
|
||||||
if 'q' in filters:
|
# if 'q' in filters:
|
||||||
orm_filters['slug'] = filters['q']
|
# orm_filters['slug'] = filters['q']
|
||||||
|
|
||||||
return orm_filters
|
# return orm_filters
|
||||||
|
|
||||||
def dehydrate(self, bundle):
|
# def dehydrate(self, bundle):
|
||||||
bundle.data['absolute_url'] = '/public/tag/%s/' % bundle.obj.slug
|
# bundle.data['absolute_url'] = '/public/tag/%s/' % bundle.obj.slug
|
||||||
bundle.data['snipts'] = '/api/public/snipt/?tag=%d' % bundle.obj.id
|
# bundle.data['snipts'] = '/api/public/snipt/?tag=%d' % bundle.obj.id
|
||||||
bundle.data['count'] = bundle.obj.taggit_taggeditem_items.filter(
|
# bundle.data['count'] = bundle.obj.taggit_taggeditem_items.filter(
|
||||||
snipt__public=True).count()
|
# snipt__public=True).count()
|
||||||
return bundle
|
# return bundle
|
||||||
|
|
||||||
class PublicSniptResource(ModelResource):
|
class PublicSniptResource(ModelResource):
|
||||||
user = fields.ForeignKey(PublicUserResource, 'user', full=True)
|
user = fields.ForeignKey(PublicUserResource, 'user', full=True)
|
||||||
tags = fields.ToManyField(PublicTagResource, 'tags', related_name='tag', full=True)
|
# tags = fields.ToManyField(PublicTagResource, 'tags', related_name='tag', full=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
queryset = Snipt.objects.filter(public=True).order_by('-created')
|
queryset = Snipt.objects.filter(public=True).order_by('-created')
|
||||||
|
@ -305,43 +305,43 @@ class PrivateUserResource(ModelResource):
|
||||||
Snipt.objects.filter(user=bundle.obj).values('lexer').distinct()]
|
Snipt.objects.filter(user=bundle.obj).values('lexer').distinct()]
|
||||||
return bundle
|
return bundle
|
||||||
|
|
||||||
class PrivateTagResource(ModelResource):
|
# class PrivateTagResource(ModelResource):
|
||||||
class Meta:
|
# class Meta:
|
||||||
queryset = Tag.objects.all()
|
# queryset = Tag.objects.all()
|
||||||
resource_name = 'tag'
|
# resource_name = 'tag'
|
||||||
fields = ['id', 'name',]
|
# fields = ['id', 'name',]
|
||||||
allowed_methods = ['get']
|
# allowed_methods = ['get']
|
||||||
authentication = ApiKeyAuthentication()
|
# authentication = ApiKeyAuthentication()
|
||||||
authorization = PrivateTagAuthorization()
|
# authorization = PrivateTagAuthorization()
|
||||||
always_return_data = True
|
# always_return_data = True
|
||||||
max_limit = 200
|
# max_limit = 200
|
||||||
cache = SimpleCache()
|
# cache = SimpleCache()
|
||||||
|
|
||||||
def build_filters(self, filters=None):
|
# def build_filters(self, filters=None):
|
||||||
if filters is None:
|
# if filters is None:
|
||||||
filters = {}
|
# filters = {}
|
||||||
|
|
||||||
orm_filters = super(PrivateTagResource, self).build_filters(filters)
|
# orm_filters = super(PrivateTagResource, self).build_filters(filters)
|
||||||
|
|
||||||
if 'q' in filters:
|
# if 'q' in filters:
|
||||||
orm_filters['slug'] = filters['q']
|
# orm_filters['slug'] = filters['q']
|
||||||
|
|
||||||
return orm_filters
|
# return orm_filters
|
||||||
|
|
||||||
def dehydrate(self, bundle):
|
# def dehydrate(self, bundle):
|
||||||
bundle.data['absolute_url'] = '/%s/tag/%s/' % (bundle.request.user.username,
|
# bundle.data['absolute_url'] = '/%s/tag/%s/' % (bundle.request.user.username,
|
||||||
bundle.obj.slug)
|
# bundle.obj.slug)
|
||||||
bundle.data['snipts'] = '/api/private/snipt/?tag=%d' % bundle.obj.id
|
# bundle.data['snipts'] = '/api/private/snipt/?tag=%d' % bundle.obj.id
|
||||||
|
|
||||||
bundle.data['count'] = bundle.obj.taggit_taggeditem_items.filter(
|
# bundle.data['count'] = bundle.obj.taggit_taggeditem_items.filter(
|
||||||
snipt__user=bundle.request.user
|
# snipt__user=bundle.request.user
|
||||||
).count()
|
# ).count()
|
||||||
|
|
||||||
return bundle
|
# return bundle
|
||||||
|
|
||||||
class PrivateSniptResource(ModelResource):
|
class PrivateSniptResource(ModelResource):
|
||||||
user = fields.ForeignKey(PrivateUserResource, 'user', full=True)
|
user = fields.ForeignKey(PrivateUserResource, 'user', full=True)
|
||||||
tags = fields.ToManyField(PrivateTagResource, 'tags', related_name='tag', full=True)
|
# tags = fields.ToManyField(PrivateTagResource, 'tags', related_name='tag', full=True)
|
||||||
tags_list = ListField()
|
tags_list = ListField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
8
urls.py
8
urls.py
|
@ -4,10 +4,10 @@ from django.conf.urls.static import static
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from snipts.api import (PublicSniptResource, PublicTagResource,
|
from snipts.api import (PublicSniptResource,
|
||||||
PublicUserResource, PrivateSniptResource,
|
PublicUserResource, PrivateSniptResource,
|
||||||
PrivateFavoriteResource, PrivateUserProfileResource,
|
PrivateFavoriteResource, PrivateUserProfileResource,
|
||||||
PrivateTagResource, PrivateUserResource)
|
PrivateUserResource)
|
||||||
from snipts.views import search
|
from snipts.views import search
|
||||||
from tastypie.api import Api
|
from tastypie.api import Api
|
||||||
from utils.views import SniptRegistrationView
|
from utils.views import SniptRegistrationView
|
||||||
|
@ -23,12 +23,12 @@ admin.autodiscover()
|
||||||
|
|
||||||
public_api = Api(api_name='public')
|
public_api = Api(api_name='public')
|
||||||
public_api.register(PublicSniptResource())
|
public_api.register(PublicSniptResource())
|
||||||
public_api.register(PublicTagResource())
|
# public_api.register(PublicTagResource())
|
||||||
public_api.register(PublicUserResource())
|
public_api.register(PublicUserResource())
|
||||||
|
|
||||||
private_api = Api(api_name='private')
|
private_api = Api(api_name='private')
|
||||||
private_api.register(PrivateSniptResource())
|
private_api.register(PrivateSniptResource())
|
||||||
private_api.register(PrivateTagResource())
|
# private_api.register(PrivateTagResource())
|
||||||
private_api.register(PrivateUserResource())
|
private_api.register(PrivateUserResource())
|
||||||
private_api.register(PrivateFavoriteResource())
|
private_api.register(PrivateFavoriteResource())
|
||||||
private_api.register(PrivateUserProfileResource())
|
private_api.register(PrivateUserProfileResource())
|
||||||
|
|
Loading…
Reference in New Issue