diff --git a/python/__init__.py b/python/__init__.py index 1fe8e96ce092..cc8179b01f07 100755 --- a/python/__init__.py +++ b/python/__init__.py @@ -46,7 +46,17 @@ def __nonzero__(self): def __repr__(self): return 'NULL' + def __eq__(self, other): + return isinstance(other, QPyNullVariant) or other is None + QPyNullVariant.__nonzero__ = MethodType(__nonzero__, None, QPyNullVariant) QPyNullVariant.__repr__ = MethodType(__repr__, None, QPyNullVariant) + QPyNullVariant.__eq__= MethodType(__eq__, None, QPyNullVariant) + + # define a dummy QPyNullVariant instance NULL in qgis.core + # this is mainly used to compare against + # so one can write if feat['attr'] == NULL: + from qgis import core + core.NULL = QPyNullVariant( int ) except ImportError: pass