Made use of property decorator in formsets.py

This commit is contained in:
Claude Paroz 2012-09-06 23:07:14 +02:00
parent ee1b3e2a3a
commit 39aa8901e1
1 changed files with 18 additions and 18 deletions

View File

@ -71,7 +71,8 @@ class BaseFormSet(object):
return True return True
__nonzero__ = __bool__ # Python 2 __nonzero__ = __bool__ # Python 2
def _management_form(self): @property
def management_form(self):
"""Returns the ManagementForm instance for this FormSet.""" """Returns the ManagementForm instance for this FormSet."""
if self.is_bound: if self.is_bound:
form = ManagementForm(self.data, auto_id=self.auto_id, prefix=self.prefix) form = ManagementForm(self.data, auto_id=self.auto_id, prefix=self.prefix)
@ -84,7 +85,6 @@ class BaseFormSet(object):
MAX_NUM_FORM_COUNT: self.max_num MAX_NUM_FORM_COUNT: self.max_num
}) })
return form return form
management_form = property(_management_form)
def total_form_count(self): def total_form_count(self):
"""Returns the total number of forms in this FormSet.""" """Returns the total number of forms in this FormSet."""
@ -140,17 +140,18 @@ class BaseFormSet(object):
self.add_fields(form, i) self.add_fields(form, i)
return form return form
def _get_initial_forms(self): @property
def initial_forms(self):
"""Return a list of all the initial forms in this formset.""" """Return a list of all the initial forms in this formset."""
return self.forms[:self.initial_form_count()] return self.forms[:self.initial_form_count()]
initial_forms = property(_get_initial_forms)
def _get_extra_forms(self): @property
def extra_forms(self):
"""Return a list of all the extra forms in this formset.""" """Return a list of all the extra forms in this formset."""
return self.forms[self.initial_form_count():] return self.forms[self.initial_form_count():]
extra_forms = property(_get_extra_forms)
def _get_empty_form(self, **kwargs): @property
def empty_form(self, **kwargs):
defaults = { defaults = {
'auto_id': self.auto_id, 'auto_id': self.auto_id,
'prefix': self.add_prefix('__prefix__'), 'prefix': self.add_prefix('__prefix__'),
@ -160,19 +161,19 @@ class BaseFormSet(object):
form = self.form(**defaults) form = self.form(**defaults)
self.add_fields(form, None) self.add_fields(form, None)
return form return form
empty_form = property(_get_empty_form)
# Maybe this should just go away? # Maybe this should just go away?
def _get_cleaned_data(self): @property
def cleaned_data(self):
""" """
Returns a list of form.cleaned_data dicts for every form in self.forms. Returns a list of form.cleaned_data dicts for every form in self.forms.
""" """
if not self.is_valid(): if not self.is_valid():
raise AttributeError("'%s' object has no attribute 'cleaned_data'" % self.__class__.__name__) raise AttributeError("'%s' object has no attribute 'cleaned_data'" % self.__class__.__name__)
return [form.cleaned_data for form in self.forms] return [form.cleaned_data for form in self.forms]
cleaned_data = property(_get_cleaned_data)
def _get_deleted_forms(self): @property
def deleted_forms(self):
""" """
Returns a list of forms that have been marked for deletion. Raises an Returns a list of forms that have been marked for deletion. Raises an
AttributeError if deletion is not allowed. AttributeError if deletion is not allowed.
@ -191,9 +192,9 @@ class BaseFormSet(object):
if self._should_delete_form(form): if self._should_delete_form(form):
self._deleted_form_indexes.append(i) self._deleted_form_indexes.append(i)
return [self.forms[i] for i in self._deleted_form_indexes] return [self.forms[i] for i in self._deleted_form_indexes]
deleted_forms = property(_get_deleted_forms)
def _get_ordered_forms(self): @property
def ordered_forms(self):
""" """
Returns a list of form in the order specified by the incoming data. Returns a list of form in the order specified by the incoming data.
Raises an AttributeError if ordering is not allowed. Raises an AttributeError if ordering is not allowed.
@ -228,7 +229,6 @@ class BaseFormSet(object):
# Return a list of form.cleaned_data dicts in the order specified by # Return a list of form.cleaned_data dicts in the order specified by
# the form data. # the form data.
return [self.forms[i[0]] for i in self._ordering] return [self.forms[i[0]] for i in self._ordering]
ordered_forms = property(_get_ordered_forms)
@classmethod @classmethod
def get_default_prefix(cls): def get_default_prefix(cls):
@ -244,14 +244,14 @@ class BaseFormSet(object):
return self._non_form_errors return self._non_form_errors
return self.error_class() return self.error_class()
def _get_errors(self): @property
def errors(self):
""" """
Returns a list of form.errors for every form in self.forms. Returns a list of form.errors for every form in self.forms.
""" """
if self._errors is None: if self._errors is None:
self.full_clean() self.full_clean()
return self._errors return self._errors
errors = property(_get_errors)
def _should_delete_form(self, form): def _should_delete_form(self, form):
""" """
@ -332,14 +332,14 @@ class BaseFormSet(object):
""" """
return self.forms and self.forms[0].is_multipart() return self.forms and self.forms[0].is_multipart()
def _get_media(self): @property
def media(self):
# All the forms on a FormSet are the same, so you only need to # All the forms on a FormSet are the same, so you only need to
# interrogate the first form for media. # interrogate the first form for media.
if self.forms: if self.forms:
return self.forms[0].media return self.forms[0].media
else: else:
return Media() return Media()
media = property(_get_media)
def as_table(self): def as_table(self):
"Returns this formset rendered as HTML <tr>s -- excluding the <table></table>." "Returns this formset rendered as HTML <tr>s -- excluding the <table></table>."