Serotonin Storm

source>vcs>views.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
from django.http import HttpResponse, HttpResponseBadRequest
from django.utils.simplejson import loads
from django.views.generic.list_detail import object_detail
from django.shortcuts import get_object_or_404
from models import Repository

def webhook(request, vcs):
    if request.method == 'POST' and len(request.POST):
        if vcs == 'googlecode':
            Repository.objects.from_post(vcs, loads('='.join(request.POST.items()[0])))
        elif 'payload' in request.POST:
            Repository.objects.from_post(vcs, loads(request.POST['payload']))
        return HttpResponse()
    return HttpResponseBadRequest()


def repo_detail(request, vcs, slug):
    return object_detail(request, Repository.objects.filter(vcs=vcs), slug=slug)