Skip to content

Commit

Permalink
Merge pull request #599 from CTPUG/py3-super
Browse files Browse the repository at this point in the history
Upgrade to PEP-3135 super() zero-argument form
  • Loading branch information
stefanor committed Jun 12, 2021
2 parents aa52154 + dc127d5 commit 1e9d9fb
Show file tree
Hide file tree
Showing 27 changed files with 76 additions and 94 deletions.
2 changes: 1 addition & 1 deletion wafer/compare/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class CompareVersionAdmin(VersionAdmin):
change_form_template = "admin/wafer.compare/change_form.html"

def get_urls(self):
urls = super(CompareVersionAdmin, self).get_urls()
urls = super().get_urls()
opts = self.model._meta
compare_urls = [
url("^([^/]+)/([^/]+)/compare/$", self.admin_site.admin_view(self.compare_view),
Expand Down
2 changes: 1 addition & 1 deletion wafer/kv/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ def __init__(self, *args, **kwargs):
groups = self.fields['group']
groups.queryset = user.groups

super(KeyValueSerializer, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
2 changes: 0 additions & 2 deletions wafer/management/commands/wafer_emails.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ def add_arguments(self, parser):
' (for all talks)')

def _website_user_emails(self, options):
query = {}

people = get_user_model().objects.all()

csv_file = csv.writer(sys.stdout)
Expand Down
5 changes: 2 additions & 3 deletions wafer/management/commands/wafer_registered_attendees.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,14 @@ def attendees(self):

class TicketRegisteredUserList(RegisteredUserList):
def fields(self):
return super(TicketRegisteredUserList, self).fields() + (
'ticket_type', 'ticket_barcode')
return super().fields() + ('ticket_type', 'ticket_barcode')

def details(self, person):
ticket = person.user.ticket.first()
details = (None, None)
if ticket:
details = (ticket.type.name, ticket.barcode)
return super(TicketRegisteredUserList, self).details(person) + details
return super().details(person) + details


class Command(BaseCommand):
Expand Down
3 changes: 1 addition & 2 deletions wafer/management/commands/wafer_talk_video_reviewers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@

from django.core.management.base import BaseCommand

from django.contrib.auth import get_user_model
from wafer.talks.models import Talk, ACCEPTED, PROVISIONAL
from wafer.talks.models import Talk, ACCEPTED


class Command(BaseCommand):
Expand Down
2 changes: 1 addition & 1 deletion wafer/pages/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

class PageForm(ModelForm):
def __init__(self, *args, **kwargs):
super(PageForm, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.include_media = False
self.helper.add_input(Submit('submit', 'Submit'))
Expand Down
8 changes: 4 additions & 4 deletions wafer/pages/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from markitup.fields import MarkupField, render_func

from wafer.menu import MenuError, refresh_menu_cache
from wafer.menu import refresh_menu_cache

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -139,7 +139,7 @@ def clean(self):
})
keys.append(parent.pk)
parent = parent.parent
return super(Page, self).clean()
return super().clean()

def validate_unique(self, exclude=None):
existing = Page.objects.filter(slug=self.slug, parent=self.parent)
Expand All @@ -153,11 +153,11 @@ def validate_unique(self, exclude=None):
_("Duplicate parent/slug combination."),
],
})
return super(Page, self).validate_unique(exclude)
return super().validate_unique(exclude)

def save(self, *args, **kwargs):
"""Ensure we invalidate the cache after saving"""
super(Page, self).save(*args, **kwargs)
super().save(*args, **kwargs)
self.invalidate_cache()


Expand Down
2 changes: 1 addition & 1 deletion wafer/pages/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class Meta:
@revisions.create_revision()
def create(self, validated_data):
revisions.set_comment("Created via REST api")
return super(PageSerializer, self).create(validated_data)
return super().create(validated_data)

@revisions.create_revision()
def update(self, page, validated_data):
Expand Down
6 changes: 3 additions & 3 deletions wafer/pages/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class ShowPage(BuildableDetailView):
def build_object(self, obj):
"""Override django-bakery to skip pages marked exclude_from_static"""
if not obj.exclude_from_static:
super(ShowPage, self).build_object(obj)
super().build_object(obj)
# else we just ignore this page entirely
# This does create a directory, but that's usually what we want
# for container pages, so we leave it.
Expand All @@ -38,15 +38,15 @@ class EditPage(UpdateView):
def form_valid(self, form):
revisions.set_user(self.request.user)
revisions.set_comment("Page Modified")
return super(EditPage, self).form_valid(form)
return super().form_valid(form)


class ComparePage(DetailView):
template_name = 'wafer.pages/page_compare.html'
model = Page

def get_context_data(self, **kwargs):
context = super(ComparePage, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)

versions = Version.objects.get_for_object(self.object)
# By revisions api definition, this is the most recent version
Expand Down
2 changes: 1 addition & 1 deletion wafer/registration/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class LoginFormHelper(FormHelper):
form_action = settings.LOGIN_URL

def __init__(self, request, *args, **kwargs):
super(LoginFormHelper, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
if 'next' in request.GET:
self.add_input(Hidden('next', request.GET['next']))
self.add_input(Submit('submit', _('Log in')))
13 changes: 6 additions & 7 deletions wafer/schedule/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ class Meta:
'css_class', 'expand')

def __init__(self, *args, **kwargs):
super(ScheduleItemAdminForm, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.fields['talk'].queryset = Talk.objects.filter(
Q(status=ACCEPTED) | Q(status=CANCELLED))
# Present all pages as possible entries in the schedule
Expand Down Expand Up @@ -356,13 +356,13 @@ def changelist_view(self, request, extra_context=None):
if failed_items:
errors[err_type].extend(failed_items)
extra_context['errors'] = errors
return super(ScheduleItemAdmin, self).changelist_view(request,
return super().changelist_view(request,
extra_context)

def get_urls(self):
from wafer.schedule.views import ScheduleEditView

urls = super(ScheduleItemAdmin, self).get_urls()
urls = super().get_urls()
admin_schedule_edit_view = self.admin_site.admin_view(
ScheduleEditView.as_view())
my_urls = [
Expand Down Expand Up @@ -419,19 +419,18 @@ def changelist_view(self, request, extra_context=None):
if failed_slots:
errors[err_type].extend(failed_slots)
extra_context['errors'] = errors
return super(SlotAdmin, self).changelist_view(request,
extra_context)
return super().changelist_view(request, extra_context)

def get_form(self, request, obj=None, **kwargs):
"""Change the form depending on whether we're adding or
editing the slot."""
if obj is None:
# Adding a new Slot
kwargs['form'] = SlotAdminAddForm
return super(SlotAdmin, self).get_form(request, obj, **kwargs)
return super().get_form(request, obj, **kwargs)

def save_model(self, request, obj, form, change):
super(SlotAdmin, self).save_model(request, obj, form, change)
super().save_model(request, obj, form, change)
if not change and form.cleaned_data['additional']:
# We add the requested additional slots
# All created slot will have the same length as the slot just
Expand Down
2 changes: 1 addition & 1 deletion wafer/schedule/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ def create(self, validated_data):
revisions.set_user(request.user)
revisions.set_comment("Updated using Schedule Editor")
return existing_schedule_item
return super(ScheduleItemSerializer, self).create(validated_data)
return super().create(validated_data)
11 changes: 4 additions & 7 deletions wafer/schedule/tests/test_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,10 @@

from wafer.pages.models import Page
from wafer.schedule.admin import (
SlotAdmin, SlotBlockFilter, ScheduleItemBlockFilter, SlotStartTimeFilter,
ScheduleItemStartTimeFilter, ScheduleItemVenueFilter,
prefetch_schedule_items, prefetch_slots,
validate_items,
find_duplicate_schedule_items, find_clashes, find_invalid_venues,
find_non_contiguous,
check_schedule, validate_schedule)
SlotAdmin, SlotBlockFilter, SlotStartTimeFilter,
check_schedule, find_clashes, find_duplicate_schedule_items,
find_invalid_venues, find_non_contiguous, prefetch_schedule_items,
validate_items, validate_schedule)
from wafer.schedule.models import ScheduleBlock, Venue, Slot, ScheduleItem
from wafer.talks.models import (Talk, ACCEPTED, REJECTED, CANCELLED,
SUBMITTED, UNDER_CONSIDERATION)
Expand Down
10 changes: 4 additions & 6 deletions wafer/schedule/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@

from icalendar import Calendar, Event

import json

from django.db.models import Q
from django.views.generic import TemplateView, View
from django.contrib.sites.shortcuts import get_current_site
Expand Down Expand Up @@ -150,7 +148,7 @@ class ScheduleView(BuildableTemplateView):
build_path = 'schedule/index.html'

def get_context_data(self, **kwargs):
context = super(ScheduleView, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)
# Check if the schedule is valid
context['active'] = False
context['prev_block'] = None
Expand Down Expand Up @@ -192,7 +190,7 @@ class ScheduleXmlView(ScheduleView):

def get_context_data(self, **kwargs):
"""Allow adding a 'render_description' parameter"""
context = super(ScheduleXmlView, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)
if self.request.GET.get('render_description', None) == '1':
context['render_description'] = True
else:
Expand Down Expand Up @@ -274,7 +272,7 @@ def _current_rows(self, schedule_page, cur_slot, prev_slot, next_slot):
return [r for r in rows if r]

def get_context_data(self, **kwargs):
context = super(CurrentView, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)
# If the schedule is invalid, return a context with active=False
context['active'] = False
if not check_schedule():
Expand Down Expand Up @@ -345,7 +343,7 @@ def _slot_context(self, slot, venues):
return slot_context

def get_context_data(self, block_id=None, **kwargs):
context = super(ScheduleEditView, self).get_context_data(**kwargs)
context = super().get_context_data(**kwargs)

blocks = ScheduleBlock.objects.all()
if block_id:
Expand Down
6 changes: 3 additions & 3 deletions wafer/snippets/markdown_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def __init__(self, *args, **kwargs):
self._markdown_safe = not kwargs.pop('allow_html', True)
self._add_html_field = kwargs.pop('add_html_field', True)
self._html_field_suffix = kwargs.pop('html_field_suffix', '_html')
super(MarkdownTextField, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)

def contribute_to_class(self, cls, name):
# During migrations, the column will already be in the new schema,
Expand All @@ -37,7 +37,7 @@ def contribute_to_class(self, cls, name):
if self._add_html_field:
self._html_field = "%s%s" % (name, self._html_field_suffix)
TextField(editable=False).contribute_to_class(cls, self._html_field)
super(MarkdownTextField, self).contribute_to_class(cls, name)
super().contribute_to_class(cls, name)

def pre_save(self, model_instance, add):
value = getattr(model_instance, self.attname)
Expand All @@ -49,7 +49,7 @@ def pre_save(self, model_instance, add):

def deconstruct(self):
# Django 1.7 migration serializer
name, path, args, kwargs = super(MarkdownTextField, self).deconstruct()
name, path, args, kwargs = super().deconstruct()
kwargs['add_html_field'] = False
kwargs['allow_html'] = self._markdown_safe
kwargs['html_field_suffix'] = self._html_field_suffix
Expand Down
4 changes: 2 additions & 2 deletions wafer/sponsors/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class Meta:
@revisions.create_revision()
def create(self, validated_data):
revisions.set_comment("Created via REST api")
return super(SponsorSerializer, self).create(validated_data)
return super().create(validated_data)

@revisions.create_revision()
def update(self, sponsor, validated_data):
Expand All @@ -33,7 +33,7 @@ class Meta:
@revisions.create_revision()
def create(self, validated_data):
revisions.set_comment("Created via REST api")
return super(PackageSerializer, self).create(validated_data)
return super().create(validated_data)

@revisions.create_revision()
def update(self, package, validated_data):
Expand Down
3 changes: 1 addition & 2 deletions wafer/talks/admin.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from django.contrib import admin
from django import forms
from django.db import models
from django.db.models import Q
from django.utils.translation import ugettext_lazy as _
Expand Down Expand Up @@ -139,7 +138,7 @@ class TalkAdmin(CompareVersionAdmin):
]

def get_queryset(self, request):
qs = super(TalkAdmin, self).get_queryset(request)
qs = super().get_queryset(request)
qs = qs.annotate(
review_count_annotation=models.Count('reviews', distinct=True),
review_score_annotation=models.Avg('reviews__scores__value')
Expand Down
8 changes: 4 additions & 4 deletions wafer/talks/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class Media:
js = ('wafer/talks/talk-categorization.js',)

def __init__(self, *args, **kwargs):
super(TalkCategorisationWidget, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)
self.attrs["class"] = "talk-categorization"


Expand All @@ -44,7 +44,7 @@ class TalkCategorisationField(forms.ModelChoiceField):
These are always required, if there are any registered.
"""
def __init__(self, model, initial=None, empty_label=None, *args, **kwargs):
super(TalkCategorisationField, self).__init__(
super().__init__(
initial=initial,
widget=TalkCategorisationWidget(),
queryset=model.objects.all(),
Expand Down Expand Up @@ -83,7 +83,7 @@ def __init__(self, *args, **kwargs):
self.base_fields['authors'].limit_choices_to = {
'id__in': [author.id for author in authors]}

super(TalkForm, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)

if not self.user.has_perm('talks.edit_private_notes'):
self.fields.pop('private_notes')
Expand Down Expand Up @@ -158,7 +158,7 @@ def __init__(self, *args, **kwargs):
'notes': self.instance.notes.raw,
}

super(ReviewForm, self).__init__(*args, **kwargs)
super().__init__(*args, **kwargs)

review_range = _("(Score range: %(min)d to %(max)d)") % {
'min': settings.WAFER_TALK_REVIEW_SCORES[0],
Expand Down
6 changes: 3 additions & 3 deletions wafer/talks/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class Meta(TalkUrlSerializer.Meta):

class MarkdownSerializer(serializers.CharField):
def get_attribute(self, instance):
value = super(MarkdownSerializer, self).get_attribute(instance)
value = super().get_attribute(instance)
return value.raw


Expand Down Expand Up @@ -60,9 +60,9 @@ class Meta:
@revisions.create_revision()
def create(self, validated_data):
revisions.set_comment("Created via REST api")
return super(TalkSerializer, self).create(validated_data)
return super().create(validated_data)

@revisions.create_revision()
def update(self, talk, validated_data):
revisions.set_comment("Changed via REST api")
return super(TalkSerializer, self).update(talk, validated_data)
return super().update(talk, validated_data)

0 comments on commit 1e9d9fb

Please sign in to comment.