]> 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 e0087c86ad5aa26a4eb14f4a959bb0428aaaab63..758b129398b4d9eabe2e8d729772c8a31f8be127 100644 (file)
@@ -1,31 +1,40 @@
-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
 import sys
 
 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:
@@ -42,7 +51,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(folder + "/" + slug)
     else:
         try:
             if not request.user.is_authenticated:
     else:
         try:
             if not request.user.is_authenticated:
@@ -50,7 +59,6 @@ def document_view(request, slug=None, folders=None):
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
         except:
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
         except:
-            sys.stderr.write("Unexpected error:", sys.exc_info()[0])
             try:
                 folder = Folder.objects.get(slug__exact=slug, parent__isnull=True)
                 if not request.user.is_authenticated():
             try:
                 folder = Folder.objects.get(slug__exact=slug, parent__isnull=True)
                 if not request.user.is_authenticated():
@@ -58,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,