diff --git a/app.py b/app.py index 1f54588..5c9884e 100644 --- a/app.py +++ b/app.py @@ -3,11 +3,11 @@ # https://wiki.duraspace.org/display/DSPACE/Solr from config import SOLR_CORE -from database import database_connection +from database import database_connection_ro import falcon from solr import solr_connection -db = database_connection() +db = database_connection_ro() solr = solr_connection() class ItemResource: diff --git a/database.py b/database.py index fa5ed53..392bb97 100644 --- a/database.py +++ b/database.py @@ -1,11 +1,18 @@ from config import SQLITE_DB import sqlite3 -def database_connection(): +def database_connection_rw(): connection = sqlite3.connect(SQLITE_DB) # allow iterating over row results by column key connection.row_factory = sqlite3.Row return connection +def database_connection_ro(): + connection = sqlite3.connect('file:{0}?mode=ro'.format(SQLITE_DB), uri=True) + # allow iterating over row results by column key + connection.row_factory = sqlite3.Row + + return connection + # vim: set sw=4 ts=4 expandtab: diff --git a/indexer.py b/indexer.py index 2e50e11..c1a0b42 100755 --- a/indexer.py +++ b/indexer.py @@ -5,7 +5,7 @@ # https://wiki.duraspace.org/display/DSPACE/Solr from config import SOLR_CORE -from database import database_connection +from database import database_connection_rw from solr import solr_connection def index_views(): @@ -90,7 +90,7 @@ def index_downloads(): results_current_page += 1 -db = database_connection() +db = database_connection_rw() solr = solr_connection() # use separate views and downloads tables so we can REPLACE INTO carelessly (ie, item may have views but no downloads)