diff --git a/src/pretix/api/auth/devicesecurity.py b/src/pretix/api/auth/devicesecurity.py index 62082f1858..bf106cfb3e 100644 --- a/src/pretix/api/auth/devicesecurity.py +++ b/src/pretix/api/auth/devicesecurity.py @@ -10,7 +10,7 @@ class FullAccessSecurityProfile: class AllowListSecurityProfile: - allowlist = tuple() + allowlist = () def is_allowed(self, request): key = (request.method, f"{request.resolver_match.namespace}:{request.resolver_match.url_name}") diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index b7930469da..9501ae7957 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -309,7 +309,7 @@ class EventSerializer(I18nAwareModelSerializer): # Item Meta properties if item_meta_properties is not None: - current = [imp for imp in event.item_meta_properties.all()] + current = list(event.item_meta_properties.all()) for key, value in item_meta_properties.items(): prop = self.item_meta_props.get(key) if prop in current: diff --git a/src/pretix/api/serializers/exporters.py b/src/pretix/api/serializers/exporters.py index 6bf7efca01..61f8a41bcc 100644 --- a/src/pretix/api/serializers/exporters.py +++ b/src/pretix/api/serializers/exporters.py @@ -18,18 +18,18 @@ class FormFieldWrapperField(serializers.Field): simple_mappings = ( - (forms.DateField, serializers.DateField, tuple()), - (forms.TimeField, serializers.TimeField, tuple()), - (forms.SplitDateTimeField, serializers.DateTimeField, tuple()), - (forms.DateTimeField, serializers.DateTimeField, tuple()), + (forms.DateField, serializers.DateField, ()), + (forms.TimeField, serializers.TimeField, ()), + (forms.SplitDateTimeField, serializers.DateTimeField, ()), + (forms.DateTimeField, serializers.DateTimeField, ()), (forms.DecimalField, serializers.DecimalField, ('max_digits', 'decimal_places', 'min_value', 'max_value')), - (forms.FloatField, serializers.FloatField, tuple()), - (forms.IntegerField, serializers.IntegerField, tuple()), - (forms.EmailField, serializers.EmailField, tuple()), - (forms.UUIDField, serializers.UUIDField, tuple()), - (forms.URLField, serializers.URLField, tuple()), - (forms.NullBooleanField, serializers.NullBooleanField, tuple()), - (forms.BooleanField, serializers.BooleanField, tuple()), + (forms.FloatField, serializers.FloatField, ()), + (forms.IntegerField, serializers.IntegerField, ()), + (forms.EmailField, serializers.EmailField, ()), + (forms.UUIDField, serializers.UUIDField, ()), + (forms.URLField, serializers.URLField, ()), + (forms.NullBooleanField, serializers.NullBooleanField, ()), + (forms.BooleanField, serializers.BooleanField, ()), ) diff --git a/src/pretix/api/views/device.py b/src/pretix/api/views/device.py index c8c89bd8d4..0a7fbe782f 100644 --- a/src/pretix/api/views/device.py +++ b/src/pretix/api/views/device.py @@ -53,8 +53,8 @@ class DeviceSerializer(serializers.ModelSerializer): class InitializeView(APIView): - authentication_classes = tuple() - permission_classes = tuple() + authentication_classes = () + permission_classes = () def post(self, request, format=None): serializer = InitializationRequestSerializer(data=request.data) diff --git a/src/pretix/base/forms/questions.py b/src/pretix/base/forms/questions.py index 6b86a46cde..fc6e662cd6 100644 --- a/src/pretix/base/forms/questions.py +++ b/src/pretix/base/forms/questions.py @@ -100,7 +100,7 @@ class NamePartsWidget(forms.MultiWidget): if not isinstance(value, list): value = self.decompress(value) output = [] - final_attrs = self.build_attrs(attrs or dict()) + final_attrs = self.build_attrs(attrs or {}) if 'required' in final_attrs: del final_attrs['required'] id_ = final_attrs.get('id', None) diff --git a/src/pretix/base/services/cart.py b/src/pretix/base/services/cart.py index fc42199097..7f6a734116 100644 --- a/src/pretix/base/services/cart.py +++ b/src/pretix/base/services/cart.py @@ -241,7 +241,7 @@ class CartManager: raise CartError(_(error_messages['max_items']) % (self.event.settings.max_items_per_order,)) def _check_item_constraints(self, op, current_ops=[]): - if isinstance(op, self.AddOperation) or isinstance(op, self.ExtendOperation): + if isinstance(op, (self.AddOperation, self.ExtendOperation)): if not ( (isinstance(op, self.AddOperation) and op.addon_to == 'FAKE') or (isinstance(op, self.ExtendOperation) and op.position.is_bundled) @@ -863,7 +863,7 @@ class CartManager: op.position.addons.all().delete() op.position.delete() - elif isinstance(op, self.AddOperation) or isinstance(op, self.ExtendOperation): + elif isinstance(op, (self.AddOperation, self.ExtendOperation)): # Create a CartPosition for as much items as we can requested_count = quota_available_count = voucher_available_count = op.count diff --git a/src/pretix/base/templatetags/money.py b/src/pretix/base/templatetags/money.py index a06d3a1634..bae229ca25 100644 --- a/src/pretix/base/templatetags/money.py +++ b/src/pretix/base/templatetags/money.py @@ -11,7 +11,7 @@ register = template.Library() @register.filter("money") def money_filter(value: Decimal, arg='', hide_currency=False): - if isinstance(value, float) or isinstance(value, int): + if isinstance(value, (float, int)): value = Decimal(value) if not isinstance(value, Decimal): if value == '': @@ -47,7 +47,7 @@ def money_filter(value: Decimal, arg='', hide_currency=False): @register.filter("money_numberfield") def money_numberfield_filter(value: Decimal, arg=''): - if isinstance(value, float) or isinstance(value, int): + if isinstance(value, (float, int)): value = Decimal(value) if not isinstance(value, Decimal): raise TypeError("Invalid data type passed to money filter: %r" % type(value)) diff --git a/src/pretix/base/views/errors.py b/src/pretix/base/views/errors.py index a0958d5718..f822c1728e 100644 --- a/src/pretix/base/views/errors.py +++ b/src/pretix/base/views/errors.py @@ -48,7 +48,7 @@ def page_not_found(request, exception): except (AttributeError, IndexError): pass else: - if isinstance(message, str) or isinstance(message, Promise): + if isinstance(message, (str, Promise)): exception_repr = str(message) context = { 'request_path': request.path, diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index af7d614625..bb6390d7bd 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -337,7 +337,7 @@ class ItemCreateForm(I18nModelForm): setattr(self.instance, f, getattr(self.cleaned_data['copy_from'], f)) else: # Add to all sales channels by default - self.instance.sales_channels = [k for k in get_all_sales_channels().keys()] + self.instance.sales_channels = list(get_all_sales_channels().keys()) self.instance.position = (self.event.items.aggregate(p=Max('position'))['p'] or 0) + 1 instance = super().save(*args, **kwargs) diff --git a/src/pretix/control/permissions.py b/src/pretix/control/permissions.py index 3d2863b4ed..57eb090241 100644 --- a/src/pretix/control/permissions.py +++ b/src/pretix/control/permissions.py @@ -7,7 +7,7 @@ from django.utils.translation import gettext as _ def current_url(request): - if len(request.GET): + if request.GET: return request.path + '?' + request.GET.urlencode() else: return request.path diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py index 3debf0ada6..ad61d57db8 100644 --- a/src/pretix/control/views/event.py +++ b/src/pretix/control/views/event.py @@ -1363,7 +1363,7 @@ class QuickSetupView(FormView): tax_rule=tax_rule, admission=True, position=i, - sales_channels=[k for k in get_all_sales_channels().keys()] + sales_channels=list(get_all_sales_channels().keys()) ) item.log_action('pretix.event.item.added', user=self.request.user, data=dict(f.cleaned_data)) if f.cleaned_data['quota'] or not form.cleaned_data['total_quota']: diff --git a/src/pretix/helpers/jsonlogic.py b/src/pretix/helpers/jsonlogic.py index e7a8d59b68..9fbc624ce0 100644 --- a/src/pretix/helpers/jsonlogic.py +++ b/src/pretix/helpers/jsonlogic.py @@ -94,7 +94,7 @@ def merge(*args): """Implements the 'merge' operator for merging lists.""" ret = [] for arg in args: - if isinstance(arg, list) or isinstance(arg, tuple): + if isinstance(arg, (list, tuple)): ret += list(arg) else: ret.append(arg) diff --git a/src/pretix/multidomain/templatetags/eventurl.py b/src/pretix/multidomain/templatetags/eventurl.py index a87c4c44d1..5b5ae6f2f6 100644 --- a/src/pretix/multidomain/templatetags/eventurl.py +++ b/src/pretix/multidomain/templatetags/eventurl.py @@ -63,7 +63,7 @@ def eventurl(parser, token, absolute=False): asvar = bits[-1] bits = bits[:-2] - if len(bits): + if bits: for bit in bits: match = kwarg_re.match(bit) if not match: diff --git a/src/pretix/plugins/checkinlists/exporters.py b/src/pretix/plugins/checkinlists/exporters.py index d7a4a8ec65..1c7d364137 100644 --- a/src/pretix/plugins/checkinlists/exporters.py +++ b/src/pretix/plugins/checkinlists/exporters.py @@ -159,7 +159,7 @@ class CheckInListMixin(BaseExporter): ), self.event.timezone) qs = qs.filter(subevent__date_from__lt=dt) - o = tuple() + o = () if self.event.has_subevents and not cl.subevent: o = ('subevent__date_from', 'subevent__name') diff --git a/src/pretix/plugins/reports/exporters.py b/src/pretix/plugins/reports/exporters.py index 4812003762..0b2a86f102 100644 --- a/src/pretix/plugins/reports/exporters.py +++ b/src/pretix/plugins/reports/exporters.py @@ -616,7 +616,7 @@ class OrderTaxListReport(MultiSheetListExporter): elif sheet == 'companies': yield from self.iterate_companies(form_data) - def _combine(self, *qs, keys=tuple()): + def _combine(self, *qs, keys=()): cache = {} def kf(r): diff --git a/src/tests/api/test_events.py b/src/tests/api/test_events.py index 0146980f99..94c9863d4d 100644 --- a/src/tests/api/test_events.py +++ b/src/tests/api/test_events.py @@ -19,7 +19,7 @@ from pretix.testutils.mock import mocker_context @pytest.fixture def variations(item): - v = list() + v = [] v.append(item.variations.create(value="ChildA1")) v.append(item.variations.create(value="ChildA2")) return v diff --git a/src/tests/api/test_items.py b/src/tests/api/test_items.py index 9ad66fc46f..6851444f07 100644 --- a/src/tests/api/test_items.py +++ b/src/tests/api/test_items.py @@ -1055,7 +1055,7 @@ def test_items_with_cart_position_delete(token_client, organizer, event, item, c @pytest.fixture def variations(item): - v = list() + v = [] v.append(item.variations.create(value="ChildA1")) v.append(item.variations.create(value="ChildA2")) return v @@ -1063,7 +1063,7 @@ def variations(item): @pytest.fixture def variations2(item2): - v = list() + v = [] v.append(item2.variations.create(value="ChildB1")) v.append(item2.variations.create(value="ChildB2")) return v diff --git a/src/tests/api/test_subevents.py b/src/tests/api/test_subevents.py index 1c0043fd82..f7c97730ca 100644 --- a/src/tests/api/test_subevents.py +++ b/src/tests/api/test_subevents.py @@ -15,7 +15,7 @@ from pretix.base.models.orders import OrderFee @pytest.fixture def variations(item): - v = list() + v = [] v.append(item.variations.create(value="ChildA1", default_price='12.00')) v.append(item.variations.create(value="ChildA2", default_price='13.00')) return v @@ -23,7 +23,7 @@ def variations(item): @pytest.fixture def variations2(item2): - v = list() + v = [] v.append(item2.variations.create(value="ChildB1", default_price='12.00')) v.append(item2.variations.create(value="ChildB2", default_price='13.00')) return v