-from django.contrib import admin
import django.contrib.auth.admin
+from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from .models import User
from django.core.management.base import BaseCommand, CommandError
from django.utils.text import slugify
-from ...models import User, Emission
+from ...models import Emission, User
class Command(BaseCommand):
def handle(self, filename, verbosity, **kwargs):
self.verbose = verbosity > 1
for line in csv.reader(file(filename)):
- email, lastname, firstname = [unicode(x.strip(), 'utf-8') for x in line[:3]]
+ email, lastname, firstname = (unicode(x.strip(), 'utf-8') for x in line[:3])
emission_slugs = [x.strip().lower() for x in line[4:9] if x]
if not email or not emission_slugs:
continue
if firstname and lastname:
- username = slugify(u'%s-%s' % (firstname, lastname))
+ username = slugify('%s-%s' % (firstname, lastname))
elif firstname or lastname:
username = slugify(firstname or lastname)
if len(username) < 8:
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-import django.utils.timezone
import django.core.validators
+import django.utils.timezone
+from django.db import migrations, models
class Migration(migrations.Migration):
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.core.validators
import django.contrib.auth.models
+import django.core.validators
+from django.db import migrations, models
class Migration(migrations.Migration):
-# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-05-16 16:23
-from __future__ import unicode_literals
import django.contrib.auth.validators
from django.db import migrations, models
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from emissions.models import Emission, Episode, NewsItem, NewsCategory, SoundFile
+from emissions.models import Emission, Episode, NewsCategory, NewsItem, SoundFile
class User(AbstractUser):
from . import views
-
urlpatterns = [
url(r'^members/$', views.members_list_view, name='members-list-view'),
url(r'^members/new/$', views.member_new, name='member-new'),
-from django.contrib.auth.decorators import login_required
+import vobject
from django.contrib.admin.views.decorators import staff_member_required
+from django.contrib.auth.decorators import login_required
+from django.core.exceptions import PermissionDenied
from django.db.models import Q
from django.http import HttpResponse, HttpResponseRedirect
-from django.views.generic.base import TemplateView, RedirectView
+from django.urls import reverse_lazy
+from django.views.generic.base import RedirectView, TemplateView
from django.views.generic.detail import DetailView
from django.views.generic.edit import CreateView, FormView, UpdateView
from django.views.generic.list import ListView
-from django.urls import reverse_lazy
-from django.core.exceptions import PermissionDenied
-
-import vobject
+from .forms import MemberCreateForm, MemberEditForm, MemberEmissionForm
from .models import User
-from .forms import MemberEditForm, MemberCreateForm, MemberEmissionForm
class ProfileView(TemplateView):
import datetime
-from django.template import Library
from django.conf import settings
-from django.urls import reverse
from django.db.models import Sum
+from django.template import Library
+from django.urls import reverse
-from emissions.models import Emission, Episode, NewsItem, SoundFile, Focus
-from panikdb.stats.models import DailyStat
from combo.data.models import Page
+from emissions.models import Emission, Episode, Focus, NewsItem, SoundFile
+from panikdb.stats.models import DailyStat
register = Library()
-from django import forms
import django.contrib.auth.forms
+from django import forms
from django.contrib.auth import authenticate, get_user_model
from django.core.management.base import BaseCommand
from django.utils.timezone import now
-from panikdb.oauth.models import OAuthCode, OAuthAccessToken
+from panikdb.oauth.models import OAuthAccessToken, OAuthCode
class Command(BaseCommand):
-# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-11-12 09:23
-from __future__ import unicode_literals
+import uuid
+
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
-import uuid
class Migration(migrations.Migration):
import random
from django.contrib.auth.decorators import login_required
-from django.http import HttpResponseForbidden, HttpResponseRedirect, HttpResponseNotAllowed, JsonResponse
+from django.http import HttpResponseForbidden, HttpResponseNotAllowed, HttpResponseRedirect, JsonResponse
from django.utils.text import slugify
from django.utils.timezone import now
from django.views.decorators.csrf import csrf_exempt
-
from jwcrypto.jwk import JWK
from jwcrypto.jwt import JWT
-from .models import OAuthClient, OAuthCode, OAuthSub, OAuthAccessToken
+from .models import OAuthAccessToken, OAuthClient, OAuthCode, OAuthSub
@login_required
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
from django.conf import settings
-from django.utils.translation import ugettext_lazy as _
from django.db import models
+from django.utils.translation import ugettext_lazy as _
class Vote(models.Model):
+from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect
from django.views.generic.base import TemplateView
from django.views.generic.list import ListView
-from django.contrib import messages
from .models import Vote
return redirect('home')
except Vote.DoesNotExist:
pass
- return super(VoteView, self).dispatch(request, *args, **kwargs)
+ return super().dispatch(request, *args, **kwargs)
def post(self, request):
choice = request.POST['choice']
return Vote.objects.order_by('?')
def get_context_data(self, **kwargs):
- context = super(ResultsView, self).get_context_data(**kwargs)
+ context = super().get_context_data(**kwargs)
context['choice_1'] = self.get_queryset().filter(choice="1").count()
context['choice_2'] = self.get_queryset().filter(choice="2").count()
context['choice_3'] = self.get_queryset().filter(choice="3").count()
from django.core.mail import send_mail
from django.core.management.base import BaseCommand
from django.template import loader
-from django.utils.timezone import now
from django.utils import translation
+from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
-
from panikdb.regie.models import PigeEmailRequest
-# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-11-19 11:57
-from __future__ import unicode_literals
from django.db import migrations, models
import logging
import requests
-
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.forms import AuthenticationForm
-from django.urls import reverse
from django.db.models import Q
from django.http import HttpResponseForbidden, HttpResponseNotAllowed, HttpResponseRedirect, JsonResponse
+from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
from django.views.generic.base import TemplateView
+from nonstop.models import SomaLogLine, Track
+from emissions.models import Nonstop
from panikdb.context_processors import internal_ip
from panikdb.service_messages.models import Message
-from emissions.models import Nonstop
-from nonstop.models import Track, SomaLogLine
-
from .models import PigeEmailRequest
-
logger = logging.getLogger('panikdb')
-# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-12-03 15:41
-from __future__ import unicode_literals
import ckeditor.fields
from django.db import migrations, models
-# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-12-03 16:31
-from __future__ import unicode_literals
from django.db import migrations, models
+from ckeditor.fields import RichTextField
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from ckeditor.fields import RichTextField
-
-
MESSAGE_STYLES = (
('info', _('Info')),
('error', _('Alert')),
from . import views
-
urlpatterns = [
url(r'^edit/(?P<pk>\d+)/$', views.message_edit, name='message-edit-view'),
]
# Django settings for panikdb project.
-# coding: utf-8
import copy
import os
+
from django.conf import global_settings
DEBUG = True
import datetime
import json
-import requests
+import requests
from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
-from panikdb.stats.models import SoundFile, DailyStat
+from panikdb.stats.models import DailyStat, SoundFile
class Command(BaseCommand):
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
-from django.conf.urls import include, url
+from agendas.urls import urlpatterns as agendas_urlpatterns
+from ckeditor.views import browse as ckeditor_browse
+from ckeditor.views import upload as ckeditor_upload
from django.conf import settings
-from django.views.generic import RedirectView
-from django.urls import reverse_lazy
-from django.contrib.auth.decorators import login_required
-from django.contrib.auth import views as auth_views
-
+from django.conf.urls import include, url
from django.contrib import admin
-
-from ckeditor.views import upload as ckeditor_upload
-from ckeditor.views import browse as ckeditor_browse
-from haystack.views import search_view_factory
+from django.contrib.auth import views as auth_views
+from django.contrib.auth.decorators import login_required
+from django.urls import reverse_lazy
+from django.views.generic import RedirectView
from haystack.forms import FacetedSearchForm
from haystack.query import SearchQuerySet
+from haystack.views import search_view_factory
+from nonstop.urls import public_urlpatterns as nonstop_public_urlpatterns
+from nonstop.urls import urlpatterns as nonstop_urlpatterns
+from wiki.urls import urlpatterns as wiki_urlpatterns
-from emissions.views import FacetedSearchView
-from emissions.urls import urlpatterns as emissions_urlpatterns
+import combo.public.views
+from combo.manager.urls import urlpatterns as combo_manager_urls
from emissions.models import Emission, Episode, NewsItem
-from newsletter.urls import management_patterns as newsletter_urlpatterns
+from emissions.urls import urlpatterns as emissions_urlpatterns
+from emissions.views import FacetedSearchView
from matos.urls import urlpatterns as matos_urlpatterns
-from nonstop.urls import urlpatterns as nonstop_urlpatterns
-from nonstop.urls import public_urlpatterns as nonstop_public_urlpatterns
-from .regie.urls import urlpatterns as regie_urlpatterns
-from .oauth.urls import urlpatterns as oauth_urlpatterns
-from .aa.urls import urlpatterns as aa_urlpatterns
-from .service_messages.urls import urlpatterns as service_messages_urlpatterns
-from wiki.urls import urlpatterns as wiki_urlpatterns
+from newsletter.urls import management_patterns as newsletter_urlpatterns
from panikombo.urls import urlpatterns as panikombo_urlpatterns
-from agendas.urls import urlpatterns as agendas_urlpatterns
-from .poll import views as poll_views
-from .forms import AuthenticationForm
from . import views
-
-from combo.manager.urls import urlpatterns as combo_manager_urls
-import combo.public.views
-
-from .urls_utils import decorated_includes, cms_permission_required
-
+from .aa.urls import urlpatterns as aa_urlpatterns
+from .forms import AuthenticationForm
+from .oauth.urls import urlpatterns as oauth_urlpatterns
+from .poll import views as poll_views
+from .regie.urls import urlpatterns as regie_urlpatterns
+from .service_messages.urls import urlpatterns as service_messages_urlpatterns
+from .urls_utils import cms_permission_required, decorated_includes
sqs = SearchQuerySet().models(Emission, Episode, NewsItem).facet('categories').facet('tags')
import django
-
from django.contrib.auth.decorators import user_passes_test
from django.core.exceptions import PermissionDenied
class DecoratedURLPattern(URLPattern):
def resolve(self, *args, **kwargs):
- result = super(DecoratedURLPattern, self).resolve(*args, **kwargs)
+ result = super().resolve(*args, **kwargs)
if result:
result.func = self._decorate_with(result.func)
return result
class DecoratedURLResolver(URLResolver):
def resolve(self, *args, **kwargs):
- result = super(DecoratedURLResolver, self).resolve(*args, **kwargs)
+ result = super().resolve(*args, **kwargs)
if result:
result.func = self._decorate_with(result.func)
return result
import datetime
+from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.core.exceptions import PermissionDenied
-from django.urls import reverse
+from django.shortcuts import redirect
from django.template import loader
-from django.views.generic.base import TemplateView, RedirectView
+from django.urls import reverse
+from django.views.generic.base import RedirectView, TemplateView
from django.views.generic.list import ListView
-from django.contrib import messages
-from django.shortcuts import redirect
-
-from emissions.models import *
-from emissions.utils import period_program
-from combo.data.models import Page
import emissions.views
import newsletter.views
+from combo.data.models import Page
+from emissions.models import *
+from emissions.utils import period_program
from .poll.models import Vote
from .service_messages.models import Message
template_name = 'home.html'
def get_context_data(self, **kwargs):
- context = super(Home, self).get_context_data(**kwargs)
+ context = super().get_context_data(**kwargs)
from .regie.views import RegieHome
return NewsCategory.objects.order_by('title')
def get_context_data(self, **kwargs):
- context = super(NewsListView, self).get_context_data(**kwargs)
+ context = super().get_context_data(**kwargs)
context['unsorted_newsitems'] = NewsItem.objects.filter(category__isnull=True).order_by('title')
return context
class NewsletterCreateView(newsletter.views.NewsletterCreateView):
def get_initial(self):
- initial = super(NewsletterCreateView, self).get_initial()
+ initial = super().get_initial()
newsletter_body = loader.get_template('newsletter/body.html')
newsletter_subject = loader.get_template('newsletter/subject.txt')
import os
import subprocess
import sys
-
-from setuptools.command.install_lib import install_lib as _install_lib
+from distutils.cmd import Command
from distutils.command.build import build as _build
from distutils.command.sdist import sdist as _sdist
-from distutils.cmd import Command
from distutils.spawn import find_executable
-from setuptools import setup, find_packages
+
+from setuptools import find_packages, setup
+from setuptools.command.install_lib import install_lib as _install_lib
class sdist(_sdist):
def get_version():
if os.path.exists('VERSION'):
- with open('VERSION', 'r') as v:
+ with open('VERSION') as v:
return v.read()
if os.path.exists('.git'):
p = subprocess.Popen(