Switch to side-by-side view

--- a/Allura/allura/lib/solr.py
+++ b/Allura/allura/lib/solr.py
@@ -16,8 +16,24 @@
 #       under the License.
 
 import shlex
+
+from tg import config
+from paste.deploy.converters import asbool
 import pysolr
-from pysolr import SolrError
+
+
+def make_solr_from_config(push_servers, query_server=None, **kwargs):
+    """
+    Make a :class:`Solr <Solr>` instance from config defaults.  Use
+    `**kwargs` to override any value
+    """
+    solr_kwargs = dict(
+        commit=asbool(config.get('solr.commit', True)),
+        commitWithin=config.get('solr.commitWithin'),
+        timeout=int(config.get('solr.long_timeout', 60)),
+    )
+    solr_kwargs.update(kwargs)
+    return Solr(push_servers, query_server, **solr_kwargs)
 
 
 class Solr(object):
@@ -131,4 +147,3 @@
         elif kwargs.get('q', None):
             for doc in self.search(kwargs['q']):
                 self.delete(id=doc['id'])
-