Files
django-test/apps/base/views.py
Jens Kleineheismann d584de697a
Some checks failed
buildbot/django-test-test-python2 Build done.
buildbot/django-test-test-python3 Build done.
UPD: improved tests.
2019-10-24 14:12:23 +02:00

31 lines
969 B
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import re
import socket
from django.utils import timezone
from django.views import generic
class RootView(generic.TemplateView):
template_name = 'base/root.html'
_default_color_hex = '47825b'
def _get_color_hex(self, hostname=None):
color_hex = self._default_color_hex
if hostname:
buf = hostname
buf = re.sub('[-.]', '', buf)
buf = buf[:6].lower()
if re.match('[0-9a-f]{6}', buf):
color_hex = buf
return color_hex
def get_context_data(self, **kwargs):
if 'hostname' not in kwargs:
kwargs['hostname'] = socket.gethostname()
if 'color_hex' not in kwargs:
kwargs['color_hex'] = self._get_color_hex(kwargs['hostname'])
if 'time' not in kwargs:
kwargs['time'] = timezone.now()
return super(RootView, self).get_context_data(**kwargs)