Eine Menge Aufräumarbeiten.

* Eine Testsuite um Mahrjong Ranking Berechnungen zu testen
* Erste Arbeiten um die Workarounds aus dem "utils" Paket los zu werden.
* Vieles am Code umformatiert für PEP8 conformität
This commit is contained in:
2017-06-07 13:25:30 +02:00
parent 690ebec3b0
commit 3e9689c04a
93 changed files with 33531 additions and 2737 deletions

View File

@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
from os import path
from ckeditor.fields import RichTextField
from django.conf import settings
from django.core.cache import cache
@@ -12,8 +10,7 @@ from django.utils import timezone
from django.utils.safestring import mark_safe
from django.utils.translation import get_language, ugettext as _
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, \
cleaner
from utils import STATUS_CHOICES, STATUS_WAITING, STATUS_PUBLISHED, CLEANER
CONTENT_CHOICES = (
(0, u'Django View'),
@@ -44,7 +41,10 @@ class ArticleManager(models.Manager):
'author', 'category')
def published(self):
return self.filter(status=STATUS_PUBLISHED, date_created__lte=timezone.now())
return self.filter(
status=STATUS_PUBLISHED,
date_created__lte=timezone.now()
)
class Article(models.Model):
@@ -74,8 +74,8 @@ class Article(models.Model):
self.date_created = timezone.now()
if not self.slug:
self.slug = slugify(self.headline_de)[:50]
self.content_de = cleaner.clean_html(self.content_de)
self.content_en = cleaner.clean_html(self.content_en)
self.content_de = CLEANER.clean_html(self.content_de)
self.content_en = CLEANER.clean_html(self.content_en)
def __str__(self):
return self.headline
@@ -120,6 +120,7 @@ class Page(models.Model):
Ist keine englische Übersetzung vorhanden, wird die deutsche Version
angeboten.
"""
menu_name_de = models.CharField(
max_length=255,
verbose_name='Menü Name',
@@ -143,7 +144,10 @@ class Page(models.Model):
slug = models.SlugField(
verbose_name=_('slug'),
max_length=100,
help_text=_("The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/")
help_text=_(
'The name of the page as it will appear in URLs e.g '
'http://domain.com/blog/[my-slug]/'
)
)
path = models.CharField(
max_length=255,
@@ -169,8 +173,10 @@ class Page(models.Model):
default=STATUS_WAITING,
verbose_name=_('status')
)
description_de = models.TextField(verbose_name=_('search description'), blank=True)
description_en = models.TextField(verbose_name=_('search description'), blank=True)
description_de = models.TextField(
verbose_name=_('search description'), blank=True)
description_en = models.TextField(
verbose_name=_('search description'), blank=True)
content_type = models.IntegerField(
choices=CONTENT_CHOICES,
verbose_name=_('content type'))
@@ -213,26 +219,34 @@ class Page(models.Model):
@property
def description(self):
return getattr(self, "description_%s" % get_language()) or self.description_de
lang_attr = "description_%s" % get_language()
return getattr(self, lang_attr, self.description_de)
@property
def menu_name(self):
return getattr(self,
"menu_name_%s" % get_language()) or self.menu_name_de
lang_attr = "menu_name_%s" % get_language()
return getattr(self, lang_attr, self.menu_name_de)
@property
def pdf_file(self):
return getattr(self, "pdf_%s" % get_language()) or self.pdf_de
lang_attr = "pdf_%s" % get_language()
return getattr(self, lang_attr, self.pdf_de)
@property
def title(self):
return getattr(self, "title_%s" % get_language()) or self.title_de
""" Return the translated title if available """
lang_attr = "title_%s" % get_language()
return getattr(self, lang_attr, self.title_de)
def clean(self):
"""
:return:
"""
if self.parent is None:
self.path = self.slug
else:
self.path = path.join(self.parent.path, self.slug)
self.path = '/'.join([self.parent.path, self.slug])
if self.content_type is None:
if self.pdf_de:
@@ -242,8 +256,8 @@ class Page(models.Model):
else:
self.content_type = 0
if self.content_type == 1:
self.content_de = cleaner.clean_html(self.content_de)
self.content_en = cleaner.clean_html(self.content_en)
self.content_de = CLEANER.clean_html(self.content_de)
self.content_en = CLEANER.clean_html(self.content_en)
elif self.content_type == 2 and not self.pdf_de.name:
raise ValidationError(
_(u'Please upload a PDF-File to this PDF-Page.'))