You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.0 KiB

from random import choices
from django.shortcuts import render
def fanik_middleware(get_response):
# Mapování uživatelských jmen na blbý kecy (+ váhy), obsah odkazu ap.
config = {
'fanik': {
'kecy': [
(r'<h1>Co je web?</h1><p>– 8. 11. 2021</p>', 10),
(r'<h1>Mě to nezajímá.</h1><p>– 8. 11. 2021</p>', 5),
],
'link': r'<a href="mailto:web@mam.mff.cuni.cz?subject=Omluva%20webařům&body=Převelice%20se%20omlouvám.">Svůj postoj jsem přehodnotil</a>',
},
}
def middleware(request):
if request.user.is_authenticated:
username = request.user.username
if username in config:
kecy = config[username]['kecy']
vahy = [x[1] for x in kecy]
kec = choices([x[0] for x in kecy], weights=vahy, k=1)[0]
template_name = 'universal.html'
context = {}
context['raw_html'] = kec + config[username]['link']
return render(request,template_name,context)
# Ve všech ostatních případech vrátíme výsledek původního dotazu
return get_response(request)
return middleware