Skip to content

Commit

Permalink
Add better error messages.
Browse files Browse the repository at this point in the history
  • Loading branch information
jmcarp committed May 27, 2015
1 parent e2480c4 commit 4bf18ee
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions robobrowser/forms/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,11 +126,8 @@ def _value_to_index(self, value):
if value in self.options:
return self.options.index(value)
if value in self.labels:
index = self.labels.index(value)
if index not in self.labels[index:]:
return index
raise ValueError('Option "{o}" does not exist in multi-option form '
'field "{f}".'.format(o=value, f=self.name))
return self.labels.index(value)
raise ValueError('Option {0} not found in field {1!r}'.format(value, self))

# Property methods
def _get_value(self):
Expand Down Expand Up @@ -166,7 +163,7 @@ def _set_value(self, value):
def append(self, value):
index = self._value_to_index(value)
if index in self._value:
raise ValueError
raise ValueError('Option {0} already in field {1!r}'.format(value, self))
self._value.append(index)
self._value.sort()

Expand All @@ -182,10 +179,7 @@ def disabled(self):
return all('disabled' in each.attrs for each in self._parsed)

def _get_name(self, parsed):
name = parsed[0].get('name')
if name is not None:
return name
raise exceptions.InvalidNameError
return super(FlatOptionField, self)._get_name(parsed[0])

def _get_options(self, parsed):
options, labels, initial = [], [], []
Expand Down

0 comments on commit 4bf18ee

Please sign in to comment.