dpaste/pastebin/apps/api/handlers.py

30 lines
895 B
Python
Raw Normal View History

2011-05-30 09:03:04 +10:00
import datetime
import re
from piston.utils import rc
from piston.handler import AnonymousBaseHandler
from pastebin.apps.dpaste.models import Snippet
class SnippetHandler(AnonymousBaseHandler):
allowed_methods = ('GET', 'POST')
fields = ('title', 'content',)
exclude = ('id', re.compile(r'^private_'))
model = Snippet
def content_size(self, blogpost):
return len(blogpost.content)
def read(self, request, secret_id):
post = Snippet.objects.get(secret_id=secret_id)
return post
def create(self, request):
if not request.POST.get('content'):
return rc.BAD_REQUEST
s = Snippet.objects.create(
content=request.POST.get('content'),
expires=datetime.datetime.now()+datetime.timedelta(seconds=60*60*24*30)
)
s.save()
return 'http://dpaste.de%s' % s.get_absolute_url()