6
from django.http import Http404
7
from django.shortcuts import get_object_or_404, render_to_response
8
from django.template import RequestContext
9
#from django.utils import simplejson as json
11
from django.views import static
13
from sphinxdoc.models import App
17
'genindex': 'General Index',
18
'modindex': 'Module Index',
23
def documentation(request, slug, url):
24
app = get_object_or_404(App, slug=slug)
26
page_name = os.path.basename(url)
28
path = os.path.join(app.path, url, 'index.fjson')
29
if not os.path.exists(path):
30
path = os.path.dirname(path) + '.fjson'
31
if not os.path.exists(path):
32
raise Http404('"%s" does not exist' % path)
35
'sphinxdoc/%s.html' % page_name,
36
'sphinxdoc/documentation.html',
41
'doc': json.load(open(path, 'rb')),
42
'env': json.load(open(
43
os.path.join(app.path, 'globalcontext.json'), 'rb')),
46
'update_date': datetime.datetime.fromtimestamp(
47
os.path.getmtime(os.path.join(app.path, 'last_build'))),
48
'home': app.get_absolute_url(),
49
# 'search': urlresolvers.reverse('document-search', kwargs={'lang':lang, 'version':version}),
50
'redirect_from': request.GET.get('from', None),
53
if 'title' not in data['doc']:
54
data['doc']['title'] = SPECIAL_TITLES[page_name]
56
return render_to_response(templates, data,
57
context_instance=RequestContext(request))
59
def search(request, slug):
60
from django.http import HttpResponse
61
return HttpResponse('Not yet implemented.')
63
def objects_inventory(request, slug):
64
app = get_object_or_404(App, slug=slug)
65
response = static.serve(
67
document_root = app.path,
70
response['Content-Type'] = "text/plain"
73
def images(request, slug, path):
74
app = get_object_or_404(App, slug=slug)
77
document_root = os.path.join(app.path, '_images'),
81
def source(request, slug, path):
82
app = get_object_or_404(App, slug=slug)
85
document_root = os.path.join(app.path, '_sources'),