diff --git a/views/result.tpl b/views/result.tpl
index b4c9b09..4f3d1d7 100644
--- a/views/result.tpl
+++ b/views/result.tpl
@@ -11,7 +11,7 @@
%if len(d['ipath']) > 0:
[{{d['ipath']}}]
%end
- %if len(d['author']) > 0:
+ %if d.has_key('author') and len(d['author']) > 0:
{{d['author']}}
%end
diff --git a/webui-standalone.py b/webui-standalone.py
index 1ce25c3..1434a42 100755
--- a/webui-standalone.py
+++ b/webui-standalone.py
@@ -1,4 +1,4 @@
-#!env python
+#!/usr/bin/env python
import bottle
import webui
diff --git a/webui.py b/webui.py
index 79c91e1..abad996 100755
--- a/webui.py
+++ b/webui.py
@@ -3,7 +3,11 @@
import os
import bottle
import time
-import recoll
+try:
+ from recoll import recoll
+except:
+ import recoll
+
import datetime
import glob
import hashlib
@@ -184,12 +188,23 @@ def recoll_search(q):
config['perpage'] = nres
q['page'] = 1
offset = (q['page'] - 1) * config['perpage']
- query.next = offset
- while query.next >= 0 and query.next < offset + config['perpage'] and query.next < nres:
- doc = query.fetchone()
+
+ if type(query.next) == int:
+ query.next = offset
+ else:
+ query.scroll(offset)
+ for i in range(config['perpage']):
+ try:
+ doc = query.fetchone()
+ except:
+ break
d = {}
for f in FIELDS:
- d[f] = getattr(doc, f).encode('utf-8')
+ v = getattr(doc, f)
+ if v is not None:
+ d[f] = v.encode('utf-8')
+ else:
+ d[f] = ''
d['label'] = select([d['title'], d['filename'], '?'], [None, ''])
d['sha'] = hashlib.sha1(d['url']+d['ipath']).hexdigest()
d['time'] = timestr(d['mtime'], config['timefmt'])