]> git.sommitrealweird.co.uk Git - sommitrealweird.git/blobdiff - sommitrealweird/bpcms/views.py
Update to work with newer django and python3
[sommitrealweird.git] / sommitrealweird / bpcms / views.py
index 365174305a6bf0ded27a901a499300f2d2a32906..758b129398b4d9eabe2e8d729772c8a31f8be127 100644 (file)
@@ -1,34 +1,44 @@
-from bpcms.models import CSSDocument, Document, Folder
+from sommitrealweird.bpcms.models import CSSDocument, Document, Folder
 from django.http import Http404, HttpResponse
 from django.shortcuts import render
 from django.template import RequestContext, loader
 from django.http import Http404, HttpResponse
 from django.shortcuts import render
 from django.template import RequestContext, loader
+import sys
 
 
-def document_view(request, slug=None, folders=None):
-    if folders == None and slug == None:
+def document_view(request, path = None):
+
+    if path == None:
         raise Http404()
 
         raise Http404()
 
+    folders = path.split("/")
+    slug = None
     folder = None
 
     if folders != None:
     folder = None
 
     if folders != None:
-        folders = folders.split('/')
         resfolder = None
         resfolder = None
-        for folder in folders:
+        prevfolder = None
+        for i,folder_name in enumerate(folders):
             try:
                 if resfolder:
             try:
                 if resfolder:
-                    resfolder = Folder.objects.get(slug__exact=folder, parent__exact=resfolder)
+                    resfolder = Folder.objects.get(slug__exact=folder_name, parent__exact=resfolder)
                 else:
                 else:
-                    resfolder = Folder.objects.get(slug__exact=folder, parent__isnull=True)
+                    resfolder = Folder.objects.get(slug__exact=folder_name, parent__isnull=True)
                 resfolder = resfolder.id
             except:
                 resfolder = resfolder.id
             except:
-                raise Http404
+                slug = folders[i]
+                folders = folders[:i]
+                break
         try:
         try:
-            folder = Folder.objects.get(pk=resfolder)
+            if resfolder != None:
+                folder = Folder.objects.get(pk=resfolder)
         except:
         except:
-            raise Http404
+            raise Http404("Badgers")
+
+    if slug == None:
+        slug = "index"
 
     if folder != None:
         try:
 
     if folder != None:
         try:
-            if not request.user.is_authenticated():
+            if not request.user.is_authenticated:
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__exact=folder)
             else:
 
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__exact=folder)
             else:
 
@@ -41,10 +51,10 @@ def document_view(request, slug=None, folders=None):
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
-                raise Http404
+                raise Http404(folder + "/" + slug)
     else:
         try:
     else:
         try:
-            if not request.user.is_authenticated():
+            if not request.user.is_authenticated:
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__isnull=True)
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__isnull=True)
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
@@ -56,7 +66,7 @@ def document_view(request, slug=None, folders=None):
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
-                raise Http404
+                raise Http404(slug)
     template_name = "bpcms/%s.html" %(doc.format,)
     c = {
             "content"   : doc.content,
     template_name = "bpcms/%s.html" %(doc.format,)
     c = {
             "content"   : doc.content,