# Tested with Python 3.6 # See DSpace Solr docs for tips about parameters # https://wiki.duraspace.org/display/DSPACE/Solr from config import SOLR_CORE import falcon from solr import solr_connection class ItemResource: def on_get(self, req, resp, item_id): """Handles GET requests""" # Get views res = solr.query(SOLR_CORE, { 'q':'type:2 AND id:{0}'.format(item_id), 'fq':'isBot:false AND statistics_type:view' }, rows=0) views = res.get_num_found() # Get downloads res = solr.query(SOLR_CORE, { 'q':'type:0 AND owningItem:{0}'.format(item_id), 'fq':'isBot:false AND statistics_type:view AND bundleName:ORIGINAL' }, rows=0) downloads = res.get_num_found() statistics = { 'id': item_id, 'views': views, 'downloads': downloads } resp.media = statistics api = falcon.API() api.add_route('/item/{item_id:int}', ItemResource()) # vim: set sw=4 ts=4 expandtab: