コード例 #1
0
ファイル: fields.py プロジェクト: a31amit/nav
 def to_python(self, value):
     if not value or isinstance(value, tuple):
         return value
     if isinstance(value, six.string_types):
         if validators.is_valid_point_string(value):
             if value.startswith('(') and value.endswith(')'):
                 noparens = value[1:-1]
             else:
                 noparens = value
             latitude, longitude = noparens.split(',')
             return (Decimal(latitude.strip()), Decimal(longitude.strip()))
     raise exceptions.ValidationError("This value must be a point-string.")
コード例 #2
0
 def clean(self, value):
     if not value or validators.is_valid_point_string(value):
         return super(PointField, self).clean(value)
     raise forms.ValidationError(
         "Invalid format. Point field format is '(x,y)'.")
コード例 #3
0
 def test_valid_point_string(self):
     point_string = "(2.3,4.5)"
     assert is_valid_point_string(point_string)
コード例 #4
0
 def test_valid_point_chars(self):
     point_string = "foo, bar"
     assert not is_valid_point_string(point_string)
コード例 #5
0
 def test_valid_point_no_comma(self):
     point_string = "(2.4)"
     assert not is_valid_point_string(point_string)
コード例 #6
0
 def test_valid_point_no_parens_and_space(self):
     point_string = "77.22134124, 543.3342"
     assert is_valid_point_string(point_string)
コード例 #7
0
 def test_valid_point_no_parens(self):
     point_string = "5.5,8.7"
     assert is_valid_point_string(point_string)
コード例 #8
0
 def test_valid_point_parens_and_sapce(self):
     point_string = "(9.888, 3.2222)"
     assert is_valid_point_string(point_string)
コード例 #9
0
 def _validate_position(cls, value):
     return is_valid_point_string(value) if value is not None else True
コード例 #10
0
ファイル: forms.py プロジェクト: alexanderfefelov/nav
 def clean(self, value):
     if not value or validators.is_valid_point_string(value):
         return super(PointField, self).clean(value)
     raise forms.ValidationError(
         "Invalid format. Point field format is '(x,y)'.")