A simple REST API to expose Solr view and download statistics for items in a DSpace repository.
Go to file
Alan Orth 6e4bc630f7
database.py: Use psycopg2.extras.DictCursor
This allows us to access records using their column name. I didn't
notice that this was not working, as I had been testing the wrong
server!

See: http://initd.org/psycopg/docs/extras.html
2018-09-25 02:06:29 +03:00
contrib contrib: Update environment settings in system units 2018-09-25 01:10:14 +03:00
.gitignore Update docs to remove SQLite stuff 2018-09-25 00:56:01 +03:00
CHANGELOG.md CHANGELOG.md: Add new unreleased changes 2018-09-25 01:11:37 +03:00
LICENSE.txt Add GPLv3 license 2018-09-18 14:16:07 +03:00
README.md Update docs to remove SQLite stuff 2018-09-25 00:56:01 +03:00
app.py Use PostgreSQL instead of SQLite 2018-09-25 00:49:47 +03:00
config.py Use PostgreSQL instead of SQLite 2018-09-25 00:49:47 +03:00
database.py database.py: Use psycopg2.extras.DictCursor 2018-09-25 02:06:29 +03:00
indexer.py Update docs to remove SQLite stuff 2018-09-25 00:56:01 +03:00
solr.py Refactor Solr components 2018-09-23 13:24:30 +03:00

README.md

DSpace Statistics API

A quick and dirty REST API to expose Solr view and download statistics for items in a DSpace repository.

Written and tested in Python 3.6. SolrClient (0.2.1) does not currently run in Python 3.7.0. Requires PostgreSQL version 9.5 or greater for UPSERT support.

Installation

Create a virtual environment and run it:

$ virtualenv -p /usr/bin/python3.6 venv
$ . venv/bin/activate
$ pip install falcon gunicorn SolrClient psycopg2-binary
$ gunicorn app:api

Todo

  • Add API documentation
  • Close up DB connection when gunicorn shuts down gracefully
  • Better logging
  • Return HTTP 404 when item_id is nonexistent

License

This work is licensed under the GPLv3.