Author: jbronn
Date: 2010-04-01 11:56:55 -0500 (Thu, 01 Apr 2010)
New Revision: 12905

Modified:
   django/trunk/django/contrib/gis/gdal/geometries.py
   django/trunk/django/contrib/gis/gdal/tests/test_geom.py
Log:
Fixed #13256 -- `OGRGeometry` no longer raises an exception when compared to 
instances of different types.  Thanks, ninowalker for the bug report.


Modified: django/trunk/django/contrib/gis/gdal/geometries.py
===================================================================
--- django/trunk/django/contrib/gis/gdal/geometries.py  2010-04-01 16:48:16 UTC 
(rev 12904)
+++ django/trunk/django/contrib/gis/gdal/geometries.py  2010-04-01 16:56:55 UTC 
(rev 12905)
@@ -180,11 +180,14 @@
 
     def __eq__(self, other):
         "Is this Geometry equal to the other?"
-        return self.equals(other)
+        if isinstance(other, OGRGeometry):
+            return self.equals(other)
+        else:
+            return False
 
     def __ne__(self, other):
         "Tests for inequality."
-        return not self.equals(other)
+        return not (self == other)
 
     def __str__(self):
         "WKT is used for the string representation."

Modified: django/trunk/django/contrib/gis/gdal/tests/test_geom.py
===================================================================
--- django/trunk/django/contrib/gis/gdal/tests/test_geom.py     2010-04-01 
16:48:16 UTC (rev 12904)
+++ django/trunk/django/contrib/gis/gdal/tests/test_geom.py     2010-04-01 
16:56:55 UTC (rev 12905)
@@ -481,6 +481,11 @@
         self.assertEqual(3, geom[0].coord_dim)
         self.assertEqual(wkt_3d, geom.wkt)
 
+    def test19_equivalence_regression(self):
+        "Testing equivalence methods with non-OGRGeometry instances."
+        self.assertNotEqual(None, OGRGeometry('POINT(0 0)'))
+        self.assertEqual(False, OGRGeometry('LINESTRING(0 0, 1 1)') == 3)
+
 def suite():
     s = unittest.TestSuite()
     s.addTest(unittest.makeSuite(OGRGeomTest))

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to