diff --git a/web/db.py b/web/db.py index 02670012..30f32323 100644 --- a/web/db.py +++ b/web/db.py @@ -948,7 +948,9 @@ def query(self, *a, **kw): out = DB.query(self, *a, **kw) if isinstance(out, iterbetter): # rowcount is not provided by sqlite - del out.__len__ + def _len(): + raise self.db_module.NotSupportedError("rowcount is not supported by sqlite") + out.__len__ = _len return out class FirebirdDB(DB): diff --git a/web/utils.py b/web/utils.py index e80113de..9d018194 100755 --- a/web/utils.py +++ b/web/utils.py @@ -541,6 +541,10 @@ def __getitem__(self, i): return self.i.next() except StopIteration: raise IndexError, str(i) + + def __nonzero__(self): + return len(self) != 0 + iterbetter = IterBetter def dictreverse(mapping):