mirror of
https://github.com/Findus23/RPGnotes.git
synced 2024-09-19 15:43:45 +02:00
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from django.http import HttpResponse
|
|
from django.shortcuts import render
|
|
from django.views.decorators.http import condition
|
|
from django.views.generic import TemplateView
|
|
from ipware import get_client_ip
|
|
from sentry_sdk import last_event_id
|
|
|
|
from rpg_notes.secrets import SENTRY_DSN
|
|
from utils.assets import get_css, get_file_hash
|
|
|
|
|
|
class PublicHomepageView(TemplateView):
|
|
template_name = "common/homepage.jinja"
|
|
|
|
|
|
class LanguageSelectView(TemplateView):
|
|
template_name = "common/languageselect.jinja"
|
|
|
|
|
|
def print_ip(request):
|
|
client_ip, is_routable = get_client_ip(request)
|
|
return HttpResponse(repr(client_ip), content_type="text/plain")
|
|
|
|
|
|
def calc_etag(*args, **kwargs):
|
|
return get_file_hash()[:6]
|
|
|
|
|
|
@condition(etag_func=calc_etag)
|
|
def debug_css(request):
|
|
css, source_map = get_css(debug=True)
|
|
return HttpResponse(css, content_type="text/css")
|
|
|
|
|
|
@condition(etag_func=calc_etag)
|
|
def debug_css_sourcemap(request):
|
|
css, source_map = get_css(debug=True)
|
|
return HttpResponse(source_map, content_type="application/json")
|
|
|
|
|
|
def handler500(request, *args, **argv):
|
|
return render(request, "500.jinja", {
|
|
"sentry_event_id": last_event_id(),
|
|
"sentry_dsn": SENTRY_DSN
|
|
}, status=500)
|