diff options
| author | Tim Graham <timograham@gmail.com> | 2017-09-07 08:16:21 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-07 08:16:21 -0400 |
| commit | 6e4c6281dbb7ee12bcdc22620894edb4e9cf623f (patch) | |
| tree | 1c21218d4b6f00c499f18943d5190ebe7b5248c9 /django/forms | |
| parent | 8b2515a450ef376b9205029090af0a79c8341bd7 (diff) | |
Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
This reverts commit 550cb3a365dee4edfdd1563224d5304de2a57fda
because try/except performs better.
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/fields.py | 5 | ||||
| -rw-r--r-- | django/forms/forms.py | 5 | ||||
| -rw-r--r-- | django/forms/formsets.py | 6 | ||||
| -rw-r--r-- | django/forms/models.py | 5 | ||||
| -rw-r--r-- | django/forms/widgets.py | 5 |
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): |
