from django import forms, http, template from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, render_to_response from django.http import HttpResponse, Http404 import os, commands from models import * from settings import * # Create your views here. def frontpage(request): t = fromslug('') t.update() return render_to_response('git_wiki/frontpage.html', \ dict(shortlog=shortlog(), tree=t)) def tree(request, reqslug, tree=None): if not tree: t = fromslug(reqslug) if not t: raise Http404 if t.type == 'blob': return item(request, reqslug, blob=t) else: t = tree t.update() (heads,tags) = reposcan() return render_to_response('git_wiki/tree.html', dict(shortlog=shortlog(tree=t), tree=t, heads=heads,tags=tags)) def item(request, reqslug, blob=None): if not blob: i = fromslug(reqslug) if not i: raise Http404 if i.type == 'tree': return tree(request, reqslug) else: i = blob i.update() return render_to_response('git_wiki/item.html', dict(item=i)) def olditem(request, hash): i = get_object_or_404(Item, id=hash) i.update() return render_to_response('git_browse/olditem.html', dict(item=i)) def view_commit(request, hash): (heads, tags) = reposcan() c = Commit(id=hash) c.update() return render_to_response('git_wiki/commit.html', dict(heads=heads, tags=tags, commit=c))