summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/fields.py5
-rw-r--r--django/forms/forms.py5
-rw-r--r--django/forms/formsets.py6
-rw-r--r--django/forms/models.py5
-rw-r--r--django/forms/widgets.py5
5 files changed, 15 insertions, 11 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index 805018786a..9246676527 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -9,7 +9,6 @@ import math
import os
import re
import uuid
-from contextlib import suppress
from decimal import Decimal, DecimalException
from io import BytesIO
from urllib.parse import urlsplit, urlunsplit
@@ -1093,7 +1092,7 @@ class FilePathField(ChoiceField):
f = os.path.join(root, f)
self.choices.append((f, f.replace(path, "", 1)))
else:
- with suppress(OSError):
+ try:
for f in sorted(os.listdir(self.path)):
if f == '__pycache__':
continue
@@ -1102,6 +1101,8 @@ class FilePathField(ChoiceField):
(self.allow_folders and os.path.isdir(full_file))) and
(self.match is None or self.match_re.search(f))):
self.choices.append((full_file, f))
+ except OSError:
+ pass
self.widget.choices = self.choices
diff --git a/django/forms/forms.py b/django/forms/forms.py
index 0b434b24f8..e2e7c645ff 100644
--- a/django/forms/forms.py
+++ b/django/forms/forms.py
@@ -4,7 +4,6 @@ Form classes
import copy
from collections import OrderedDict
-from contextlib import suppress
from django.core.exceptions import NON_FIELD_ERRORS, ValidationError
# BoundField is imported for backwards compatibility in Django 1.9
@@ -126,8 +125,10 @@ class BaseForm:
return
fields = OrderedDict()
for key in field_order:
- with suppress(KeyError): # ignore unknown fields
+ try:
fields[key] = self.fields.pop(key)
+ except KeyError: # ignore unknown fields
+ pass
fields.update(self.fields) # add remaining fields in original order
self.fields = fields
diff --git a/django/forms/formsets.py b/django/forms/formsets.py
index 7332e4b2f4..5133164f7a 100644
--- a/django/forms/formsets.py
+++ b/django/forms/formsets.py
@@ -1,5 +1,3 @@
-from contextlib import suppress
-
from django.core.exceptions import ValidationError
from django.forms import Form
from django.forms.fields import BooleanField, IntegerField
@@ -162,8 +160,10 @@ class BaseFormSet:
defaults['data'] = self.data
defaults['files'] = self.files
if self.initial and 'initial' not in kwargs:
- with suppress(IndexError):
+ try:
defaults['initial'] = self.initial[i]
+ except IndexError:
+ pass
# Allow extra forms to be empty, unless they're part of
# the minimum forms.
if i >= self.initial_form_count() and i >= self.min_num:
diff --git a/django/forms/models.py b/django/forms/models.py
index ffa8982506..4435bf9722 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -4,7 +4,6 @@ and database field objects.
"""
from collections import OrderedDict
-from contextlib import suppress
from itertools import chain
from django.core.exceptions import (
@@ -615,8 +614,10 @@ class BaseModelFormSet(BaseFormSet):
kwargs['instance'] = self.get_queryset()[i]
elif self.initial_extra:
# Set initial values for extra forms
- with suppress(IndexError):
+ try:
kwargs['initial'] = self.initial_extra[i - self.initial_form_count()]
+ except IndexError:
+ pass
form = super()._construct_form(i, **kwargs)
if pk_required:
form.fields[self.model._meta.pk.name].required = True
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index dbb3b2e851..47396213d9 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -6,7 +6,6 @@ import copy
import datetime
import re
import warnings
-from contextlib import suppress
from itertools import chain
from django.conf import settings
@@ -651,8 +650,10 @@ class ChoiceWidget(Widget):
def value_from_datadict(self, data, files, name):
getter = data.get
if self.allow_multiple_selected:
- with suppress(AttributeError):
+ try:
getter = data.getlist
+ except AttributeError:
+ pass
return getter(name)
def format_value(self, value):