From 43e54af14124c29f40438fb46953b8b8cb2cabb8 Mon Sep 17 00:00:00 2001 From: henu Date: Wed, 20 Sep 2017 21:15:46 +0300 Subject: [PATCH] Fix webapp and sikweb py files pep8 --- sikweb/.ci-settings.py | 2 ++ sikweb/settings-sample.py | 17 ++++++---- sikweb/urls.py | 3 +- webapp/admin.py | 2 ++ webapp/apps.py | 5 +++ webapp/models.py | 71 ++++++++++++++++++++++++--------------- webapp/tests.py | 2 ++ webapp/translation.py | 18 +++++++--- webapp/urls.py | 2 ++ webapp/utils.py | 3 ++ webapp/views.py | 11 +++++- 11 files changed, 97 insertions(+), 39 deletions(-) diff --git a/sikweb/.ci-settings.py b/sikweb/.ci-settings.py index 8717ed4..043f3ce 100644 --- a/sikweb/.ci-settings.py +++ b/sikweb/.ci-settings.py @@ -1,3 +1,5 @@ +"""File containing CI settings.""" + from sikweb.default_settings import * DATABASES = { diff --git a/sikweb/settings-sample.py b/sikweb/settings-sample.py index 2013527..9ad9d7d 100644 --- a/sikweb/settings-sample.py +++ b/sikweb/settings-sample.py @@ -79,7 +79,7 @@ LOGGING = { # Application definition INSTALLED_APPS = [ - 'modeltranslation', # has to be before admin for translation admin stuff to work + 'modeltranslation', # has to be before admin for translation admin to work 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', @@ -105,7 +105,8 @@ NOSE_ARGS = [ '--with-coverage', '--cover-package=webapp,members,infoscreen', '--exclude-dir={}'.format(os.path.join(BASE_DIR, 'members', 'migrations')), - '--exclude-dir={}'.format(os.path.join(BASE_DIR, 'infoscreen', 'migrations')), + '--exclude-dir={}'.format(os.path.join(BASE_DIR, + 'infoscreen', 'migrations')), '--exclude-dir={}'.format(os.path.join(BASE_DIR, 'webapp', 'migrations')), ] @@ -182,16 +183,20 @@ else: AUTH_PASSWORD_VALIDATORS = [ { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + 'NAME': 'django.contrib.auth.password_validation.' + 'UserAttributeSimilarityValidator', }, { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + 'NAME': 'django.contrib.auth.password_validation.' + 'MinimumLengthValidator', }, { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + 'NAME': 'django.contrib.auth.password_validation.' + 'CommonPasswordValidator', }, { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + 'NAME': 'django.contrib.auth.password_validation.' + 'NumericPasswordValidator', }, ] diff --git a/sikweb/urls.py b/sikweb/urls.py index 0113b57..2e0793c 100644 --- a/sikweb/urls.py +++ b/sikweb/urls.py @@ -41,5 +41,6 @@ urlpatterns = [ # staticfiles default view for static files in development url(r'^static/(?P.*)$', static_views.serve), - url(r'^media/(?P.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), + url(r'^media/(?P.*)$', + static_serve, {'document_root': settings.MEDIA_ROOT}), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/webapp/admin.py b/webapp/admin.py index b532141..03faf69 100644 --- a/webapp/admin.py +++ b/webapp/admin.py @@ -1,3 +1,5 @@ +"""File containing webapp app admin registers.""" + from django.contrib import admin from webapp.models import Official, Role from webapp.models import Feed, Tag, BaseFeed, Event diff --git a/webapp/apps.py b/webapp/apps.py index 55fa92c..151670c 100644 --- a/webapp/apps.py +++ b/webapp/apps.py @@ -1,8 +1,13 @@ +"""Webapp app configurations.""" + from django.apps import AppConfig class WebappConfig(AppConfig): + """Webapp configurations.""" + name = 'webapp' def ready(self): + """Import translations.""" import webapp.translations diff --git a/webapp/models.py b/webapp/models.py index 569089e..812d9f9 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -1,3 +1,5 @@ +"""Webapp app models.""" + from django.db import models from django.utils import timezone from datetime import timedelta @@ -11,15 +13,16 @@ from django.contrib.postgres.fields import JSONField class Tag(models.Model): + """Model for tag.""" + slug = models.SlugField(primary_key=True) name = models.CharField(max_length=127) icon = models.ImageField() class BaseFeed(models.Model): - ''' - model containing something showing on some info feed - ''' + """Model containing something showing on some info feed.""" + tags = models.ManyToManyField(Tag, related_name="feeds", blank=True) visible = models.BooleanField(default=True) title = models.CharField(max_length=255) @@ -28,47 +31,52 @@ class BaseFeed(models.Model): class Feed(BaseFeed): + """Model representing feed.""" publish_time = models.DateTimeField(default=timezone.now) autohide = models.DateTimeField(default=month_from_now) class Event(BaseFeed): + """Model for event.""" + start_time = models.DateTimeField(default=timezone.now) end_time = models.DateTimeField(default=timezone.now) - registration = models.ForeignKey('Registration', on_delete=models.CASCADE, null=True) + registration = models.ForeignKey( + 'Registration', on_delete=models.CASCADE, null=True) class Registration(models.Model): + """Model for event registration.""" + name = models.CharField(max_length=255) email = models.EmailField() options = JSONField() class BaseRole(models.Model): - ''' - Base model for occupations/roles - ''' + """Base model for occupations/roles.""" + name = models.CharField(_('Name'), max_length=255) is_board = models.BooleanField(_('Board member')) class PresetRole(BaseRole): - ''' - Model representing a preset occupation in the guild - ''' + """Model representing a preset occupation in the guild.""" + description = models.TextField(_('Description')) summary = models.TextField(_('Summary')) class PresetKaehmyRole(PresetRole): + """Model for kaehmy role.""" + form = models.ForeignKey('KaehmyForm', related_name='preset_roles') class CustomKaehmyRole(BaseRole): - ''' - Model representing a user-specified custom occupation - ''' + """Model representing a user-specified custom occupation.""" + form = models.ForeignKey('KaehmyForm', related_name='custom_roles') @@ -77,10 +85,12 @@ class MessageParent(models.Model): class KaehmyMessage(MessageParent): - ''' + """ Model representing a kaehmymessage. + Every message relates to certain kaehmyform or parent message. - ''' + """ + name = models.CharField(_('Name'), max_length=255) email = models.EmailField(_('Email')) message = models.TextField(_('Message')) @@ -88,21 +98,28 @@ class KaehmyMessage(MessageParent): class KaehmyForm(MessageParent): - ''' + """ Model representing a form for kaehmy. + Allows user to choose from existing roles or to create custom ones. - ''' + """ + name = models.CharField(_('Name'), max_length=255) email = models.EmailField(_('Email')) year = models.IntegerField(_('Year')) class Role(PresetRole): - ''' + """ + Model for Role. + Model representing an active or historical occupation - in an official's history - ''' + in an official's history. + """ + class Meta: + """Meta class for Role model.""" + verbose_name = _('Role') start_date = models.DateField(_('Start date')) @@ -111,20 +128,20 @@ class Role(PresetRole): class Official(User): - ''' - Model representing a guild official - ''' + """Model representing a guild official.""" + class Meta: + """Meta class for Official class.""" + verbose_name = _('Official') phone_number = PhoneNumberField(_('Phone number')) -#Ohlhafv +# Ohlhafv class OhlhafvChallenge(models.Model): - ''' - Model containing all info about ohlhafv challenge - ''' + """Model containing all info about ohlhafv challenge.""" + SERIES_CHOICES = ( ('0.33 L', '0.33 L'), ('0.5 L', '0.5 L'), diff --git a/webapp/tests.py b/webapp/tests.py index 7ce503c..1418e07 100644 --- a/webapp/tests.py +++ b/webapp/tests.py @@ -1,3 +1,5 @@ +"""Tests for webapp.""" + from django.test import TestCase # Create your tests here. diff --git a/webapp/translation.py b/webapp/translation.py index 678be16..9ee016d 100644 --- a/webapp/translation.py +++ b/webapp/translation.py @@ -1,22 +1,32 @@ +"""Translation classes.""" + from modeltranslation.translator import register, TranslationOptions from webapp.models import BaseFeed, Feed, Tag, Event @register(BaseFeed) class BaseFeedTranslationOptions(TranslationOptions): - fields = ('title', 'description', 'content') + """Class for base feed translation options.""" + + fields = ('title', 'description', 'content') @register(Feed) class FeedTranslationOptions(TranslationOptions): - fields = () + """Class for feed translation options.""" + + fields = () @register(Event) class EventTranslationOptions(TranslationOptions): - fields = () + """Class for event translation options.""" + + fields = () @register(Tag) class TagTranslationOptions(TranslationOptions): - fields = ('name',) + """Class for tag translation options.""" + + fields = ('name',) diff --git a/webapp/urls.py b/webapp/urls.py index 2dd136d..a7eaa70 100644 --- a/webapp/urls.py +++ b/webapp/urls.py @@ -1,3 +1,5 @@ +"""Webapp urls.""" + from django.conf.urls import url from webapp.views import main_index diff --git a/webapp/utils.py b/webapp/utils.py index 0886e08..ceb83c7 100644 --- a/webapp/utils.py +++ b/webapp/utils.py @@ -1,6 +1,9 @@ +"""Webapp utils.""" + from django.utils import timezone from datetime import timedelta def month_from_now(): + """Return date one month from now.""" return timezone.now() + timedelta(days=30) diff --git a/webapp/views.py b/webapp/views.py index d8e0ac5..dfcf5b0 100644 --- a/webapp/views.py +++ b/webapp/views.py @@ -1,3 +1,5 @@ +"""Webapp views.""" + from django.shortcuts import render, redirect from django.contrib.auth import login, logout, authenticate from django.views.decorators.http import require_http_methods @@ -9,6 +11,7 @@ import logging @require_http_methods(["GET"]) def main_index(request, *args, **kwargs): + """Render main page.""" return render(request, "main_index.html", {}) @@ -16,11 +19,13 @@ def main_index(request, *args, **kwargs): @ensure_csrf_cookie @permission_required('members.change_member', login_url='/login') def admin_index(request, *args, **kwargs): + """Render admin main page.""" return render(request, "admin_index.html", {}) @require_http_methods(["GET", "POST"]) def login_view(request, *args, **kwargs): + """Render login view.""" if request.method == "POST": uname = request.POST.get("username", None) pw = request.POST.get("passwd", None) @@ -29,7 +34,9 @@ def login_view(request, *args, **kwargs): login(request, user) original_site = request.GET.get("next", None) or "/" return redirect(original_site) - return render(request, "login.html", {"error": "☹ Kirjautuminen kosahti. Yritä uudelleen!"}) + return render(request, + "login.html", + {"error": "☹ Kirjautuminen kosahti. Yritä uudelleen!"}) # user got here by a get request user = request.user @@ -41,10 +48,12 @@ def login_view(request, *args, **kwargs): @require_http_methods(["POST"]) def logout_view(request, *args, **kwargs): + """Logout user and return to main page.""" logout(request) return redirect("/") @require_http_methods(["GET"]) def about_view(request, *args, **kwargs): + """Render about page.""" return render(request, "about.html", {})