Skip to content

Commit e2ff8ed

Browse files
committed
Make python NULL hashable
1 parent 2fe3f55 commit e2ff8ed

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

python/__init__.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,14 @@ def __eq__(self, other):
5555
def __ne__(self, other):
5656
return not isinstance(other, QPyNullVariant) and other is not None
5757

58+
def __hash__(self):
59+
return 2178309
60+
5861
QPyNullVariant.__nonzero__ = MethodType(__nonzero__, None, QPyNullVariant)
5962
QPyNullVariant.__repr__ = MethodType(__repr__, None, QPyNullVariant)
60-
QPyNullVariant.__eq__= MethodType(__eq__, None, QPyNullVariant)
61-
QPyNullVariant.__ne__= MethodType(__ne__, None, QPyNullVariant)
63+
QPyNullVariant.__eq__ = MethodType(__eq__, None, QPyNullVariant)
64+
QPyNullVariant.__ne__ = MethodType(__ne__, None, QPyNullVariant)
65+
QPyNullVariant.__hash__ = MethodType(__hash__, None, QPyNullVariant)
6266

6367
# define a dummy QPyNullVariant instance NULL in qgis.core
6468
# this is mainly used to compare against

tests/src/python/providertestbase.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def testExtent(self):
6464

6565
def testUnique(self):
6666
assert set(self.provider.uniqueValues(1)) == set([-200, 100, 200, 300, 400])
67-
# assert set([u'Apple', u'Honey', u'Orange', u'Pear', NULL]) == set(self.provider.uniqueValues(2)), 'Got {}'.format(set(self.provider.uniqueValues(2)))
67+
assert set([u'Apple', u'Honey', u'Orange', u'Pear', NULL]) == set(self.provider.uniqueValues(2)), 'Got {}'.format(set(self.provider.uniqueValues(2)))
6868

6969
def testFeatureCount(self):
7070
assert self.provider.featureCount() == 5

0 commit comments

Comments
 (0)