summaryrefslogtreecommitdiff
path: root/src/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.py')
-rwxr-xr-xsrc/db.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/db.py b/src/db.py
index f9d0da1..8ab98e7 100755
--- a/src/db.py
+++ b/src/db.py
@@ -76,24 +76,35 @@ class DictDB():
def slice(self, key_from=None, key_to=None):
pass
- def search(self, **kwargs):
+ def search(self, limit=25, skip=0, **kwargs):
"""
- Execute a Mango query, ideally we should have an index matching the,
+ Execute a Mango query, ideally we should have an index matching
the query otherwise things will be slow.
"""
data = list()
selector = dict()
+ try:
+ limit = int(limit)
+ skip = int(skip)
+ except ValueError:
+ limit = 25
+ skip = 0
+
if kwargs:
- selector = {"selector": {}}
+ selector = {
+ "limit": limit,
+ "skip": skip,
+ "selector": {}
+ }
for key in kwargs:
if kwargs[key].isnumeric():
kwargs[key] = int(kwargs[key])
selector['selector'][key] = {'$eq': kwargs[key]}
- for doc in self.couchdb.find(selector):
+ for doc in self.couchdb.find(selector, wrapper=None, limit=5):
data.append(doc)
return data