Sharing code is good. Also store page update (need to actually make store site proper already)
This commit is contained in:
parent
51661aaa71
commit
5341583fb2
|
@ -1,46 +1,5 @@
|
||||||
from django.shortcuts import render
|
|
||||||
from . import models
|
from . import models
|
||||||
from django.template import loader
|
from rakka.utils import rerender
|
||||||
|
|
||||||
import functools
|
|
||||||
|
|
||||||
def rerender(funky):
|
|
||||||
@functools.wraps(funky)
|
|
||||||
def wrap(req,*args,**kwargs):
|
|
||||||
with open('main/utils/navs') as b:
|
|
||||||
navs=parsecat(b,4)
|
|
||||||
namednavs=[{'id':blah[0], 'link':blah[1], 'text':blah[2], 'align':int(blah[3])} for blah in navs['']]
|
|
||||||
out=funky(*args,**kwargs)
|
|
||||||
temp=loader.get_template('main/nav.html')
|
|
||||||
out['nav']=temp.render({"navs":namednavs},None)
|
|
||||||
return render(req, 'main/temp.html', out)
|
|
||||||
return wrap
|
|
||||||
|
|
||||||
def parsecat(file,n):
|
|
||||||
if not isinstance(file,str):
|
|
||||||
# Assume open handle
|
|
||||||
stuff=file.read()
|
|
||||||
else:
|
|
||||||
with open(f'main/pages/{file}') as b:
|
|
||||||
stuff=b.read()
|
|
||||||
cats=stuff.split('\n\n')
|
|
||||||
out={}
|
|
||||||
head=''
|
|
||||||
out['']=[]
|
|
||||||
for cat in cats:
|
|
||||||
if ':' in cat[:cat.index('\n')]:
|
|
||||||
# We have a category name
|
|
||||||
head,cat=cat.split('\n',1)
|
|
||||||
head=head[:-1]
|
|
||||||
out[head]=[]
|
|
||||||
else: head=''
|
|
||||||
for line in cat.split('\n'):
|
|
||||||
lin=line.split(',',n-1)
|
|
||||||
pad=n-len(lin)
|
|
||||||
lin.extend(['']*pad)
|
|
||||||
out[head].append(lin)
|
|
||||||
if out['']==[]: del(out[''])
|
|
||||||
return out
|
|
||||||
|
|
||||||
@rerender
|
@rerender
|
||||||
def index():
|
def index():
|
||||||
|
|
|
@ -1,50 +1,10 @@
|
||||||
from django.shortcuts import render
|
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.template import loader
|
|
||||||
import random as ra
|
import random as ra
|
||||||
import asyncio
|
import asyncio
|
||||||
from . import mdl
|
from . import mdl
|
||||||
from .models import Page,Contact,Update
|
from .models import Page,Contact,Update
|
||||||
|
|
||||||
import functools
|
from rakka.utils import rerender,parsecat
|
||||||
|
|
||||||
def rerender(funky):
|
|
||||||
@functools.wraps(funky)
|
|
||||||
def wrap(req,*args,**kwargs):
|
|
||||||
with open('main/utils/navs') as b:
|
|
||||||
navs=parsecat(b,4)
|
|
||||||
namednavs=[{'id':blah[0], 'link':blah[1], 'text':blah[2], 'align':int(blah[3])} for blah in navs['']]
|
|
||||||
out=funky(*args,**kwargs)
|
|
||||||
temp=loader.get_template('main/nav.html')
|
|
||||||
out['nav']=temp.render({"navs":namednavs},None)
|
|
||||||
return render(req, 'main/temp.html', out)
|
|
||||||
return wrap
|
|
||||||
|
|
||||||
def parsecat(file,n):
|
|
||||||
if not isinstance(file,str):
|
|
||||||
# Assume open handle
|
|
||||||
stuff=file.read()
|
|
||||||
else:
|
|
||||||
with open(f'main/pages/{file}') as b:
|
|
||||||
stuff=b.read()
|
|
||||||
cats=stuff.split('\n\n')
|
|
||||||
out={}
|
|
||||||
head=''
|
|
||||||
out['']=[]
|
|
||||||
for cat in cats:
|
|
||||||
if ':' in cat[:cat.index('\n')]:
|
|
||||||
# We have a category name
|
|
||||||
head,cat=cat.split('\n',1)
|
|
||||||
head=head[:-1]
|
|
||||||
out[head]=[]
|
|
||||||
else: head=''
|
|
||||||
for line in cat.split('\n'):
|
|
||||||
lin=line.split(',',n-1)
|
|
||||||
pad=n-len(lin)
|
|
||||||
lin.extend(['']*pad)
|
|
||||||
out[head].append(lin)
|
|
||||||
if out['']==[]: del(out[''])
|
|
||||||
return out
|
|
||||||
|
|
||||||
@rerender
|
@rerender
|
||||||
def index():
|
def index():
|
||||||
|
@ -56,7 +16,7 @@ def index():
|
||||||
stuff=stuff.format(ra.choice(ids))
|
stuff=stuff.format(ra.choice(ids))
|
||||||
return {'title':'Home','content':stuff,'date':'2021/12/15'}
|
return {'title':'Home','content':stuff,'date':'2021/12/15'}
|
||||||
|
|
||||||
def lii(obj):
|
def lii(obj): # This will get moved to a template shortly
|
||||||
name=obj.name
|
name=obj.name
|
||||||
if obj.url: name=f"<a href='{obj.url}'>{name}</a>"
|
if obj.url: name=f"<a href='{obj.url}'>{name}</a>"
|
||||||
if obj.comment: name=f"{name} ({obj.comment})"
|
if obj.comment: name=f"{name} ({obj.comment})"
|
||||||
|
@ -99,7 +59,7 @@ def songs():
|
||||||
|
|
||||||
@rerender
|
@rerender
|
||||||
def nerdshope():
|
def nerdshope():
|
||||||
return {'title':'Nerds\' Hope','content':"Store stuff. TODO. Will include inventory and budget. <a href='https://facebook.com/nerdshope'>FB</a><br/>Address is 21 Kensington St, Glenorchy<br/>Off dates 2022:Dunno yet.<br/>NYE party 31st Dec.",'date':'2021/12/24'}
|
return {'title':"Nerds' Hope",'content':"Store stuff. TODO. Will include inventory and budget. <a href='https://facebook.com/nerdshope'>FB</a><br/>Address is 21 Kensington St, Glenorchy<br/>Off dates 2022: 25th Feb, 4th March, 6th May, 17th June, 24th June",'date':'2022/02/09'}
|
||||||
|
|
||||||
def teapot(req):
|
def teapot(req):
|
||||||
return HttpResponse("You're probably missing the joke.",status=418)
|
return HttpResponse("You're probably missing the joke.",status=418)
|
||||||
|
|
|
@ -20,5 +20,6 @@ from . import views
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('books/',include('books.urls')),
|
path('books/',include('books.urls')),
|
||||||
|
path('comment/',include('comment.urls')),
|
||||||
path('', include('main.urls')),
|
path('', include('main.urls')),
|
||||||
]
|
]
|
||||||
|
|
41
rakka/utils.py
Normal file
41
rakka/utils.py
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
from django.shortcuts import render
|
||||||
|
from django.template import loader
|
||||||
|
import functools
|
||||||
|
|
||||||
|
def rerender(funky):
|
||||||
|
@functools.wraps(funky)
|
||||||
|
def wrap(req,*args,**kwargs):
|
||||||
|
with open('main/utils/navs') as b:
|
||||||
|
navs=parsecat(b,4)
|
||||||
|
namednavs=[{'id':blah[0], 'link':blah[1], 'text':blah[2], 'align':int(blah[3])} for blah in navs['']]
|
||||||
|
out=funky(*args,**kwargs)
|
||||||
|
temp=loader.get_template('main/nav.html')
|
||||||
|
out['nav']=temp.render({"navs":namednavs},None)
|
||||||
|
return render(req, 'main/temp.html', out)
|
||||||
|
return wrap
|
||||||
|
|
||||||
|
def parsecat(file,n):
|
||||||
|
if not isinstance(file,str):
|
||||||
|
# Assume open handle
|
||||||
|
stuff=file.read()
|
||||||
|
else:
|
||||||
|
with open(f'main/pages/{file}') as b:
|
||||||
|
stuff=b.read()
|
||||||
|
cats=stuff.split('\n\n')
|
||||||
|
out={}
|
||||||
|
head=''
|
||||||
|
out['']=[]
|
||||||
|
for cat in cats:
|
||||||
|
if ':' in cat[:cat.index('\n')]:
|
||||||
|
# We have a category name
|
||||||
|
head,cat=cat.split('\n',1)
|
||||||
|
head=head[:-1]
|
||||||
|
out[head]=[]
|
||||||
|
else: head=''
|
||||||
|
for line in cat.split('\n'):
|
||||||
|
lin=line.split(',',n-1)
|
||||||
|
pad=n-len(lin)
|
||||||
|
lin.extend(['']*pad)
|
||||||
|
out[head].append(lin)
|
||||||
|
if out['']==[]: del(out[''])
|
||||||
|
return out
|
Loading…
Reference in New Issue
Block a user