mirror of
https://github.com/ilri/dspace-statistics-api.git
synced 2024-11-22 06:15:02 +01:00
Compare commits
4 Commits
01e9756cf2
...
787eec20ea
Author | SHA1 | Date | |
---|---|---|---|
787eec20ea | |||
9e6fcf279b | |||
4dbf734a4b | |||
a0d0a47150 |
@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Add ORDER BY to /items resource to make sure results are returned
|
||||
deterministically
|
||||
- Use `fl` parameter in indexer to return only the id field
|
||||
- Minor refactoring of imports for PEP8 style
|
||||
|
||||
## [1.3.2] - 2020-11-18
|
||||
### Fixed
|
||||
|
@ -1,4 +1,5 @@
|
||||
import falcon
|
||||
import psycopg2.extras
|
||||
|
||||
from .database import DatabaseManager
|
||||
from .items import get_downloads, get_views
|
||||
@ -120,8 +121,6 @@ class ItemResource:
|
||||
def on_get(self, req, resp, item_id):
|
||||
"""Handles GET requests"""
|
||||
|
||||
import psycopg2.extras
|
||||
|
||||
# Adapt Python’s uuid.UUID type to PostgreSQL’s uuid
|
||||
# See: https://www.psycopg.org/docs/extras.html
|
||||
psycopg2.extras.register_uuid()
|
||||
|
@ -1,6 +1,7 @@
|
||||
import requests
|
||||
|
||||
from .config import SOLR_SERVER
|
||||
from .util import get_statistics_shards
|
||||
|
||||
|
||||
def get_views(solr_date_string: str, items: list):
|
||||
@ -11,7 +12,6 @@ def get_views(solr_date_string: str, items: list):
|
||||
:parameter items (list): a list of item IDs
|
||||
:returns: A dict of item IDs and views
|
||||
"""
|
||||
from .util import get_statistics_shards
|
||||
shards = get_statistics_shards()
|
||||
|
||||
# Join the UUIDs with "OR" and escape the hyphens for Solr
|
||||
@ -20,6 +20,7 @@ def get_views(solr_date_string: str, items: list):
|
||||
solr_query_params = {
|
||||
"q": f"id:({solr_items_string})",
|
||||
"fq": f"type:2 AND isBot:false AND statistics_type:view AND time:{solr_date_string}",
|
||||
"fl": "id",
|
||||
"facet": "true",
|
||||
"facet.field": "id",
|
||||
"facet.mincount": 1,
|
||||
@ -61,7 +62,6 @@ def get_downloads(solr_date_string: str, items: list):
|
||||
:parameter items (list): a list of item IDs
|
||||
:returns: A dict of item IDs and downloads
|
||||
"""
|
||||
from .util import get_statistics_shards
|
||||
shards = get_statistics_shards()
|
||||
|
||||
# Join the UUIDs with "OR" and escape the hyphens for Solr
|
||||
@ -70,6 +70,7 @@ def get_downloads(solr_date_string: str, items: list):
|
||||
solr_query_params = {
|
||||
"q": f"owningItem:({solr_items_string})",
|
||||
"fq": f"type:0 AND isBot:false AND statistics_type:view AND bundleName:ORIGINAL AND time:{solr_date_string}",
|
||||
"fl": "owningItem",
|
||||
"facet": "true",
|
||||
"facet.field": "owningItem",
|
||||
"facet.mincount": 1,
|
||||
@ -102,4 +103,5 @@ def get_downloads(solr_date_string: str, items: list):
|
||||
|
||||
return data
|
||||
|
||||
|
||||
# vim: set sw=4 ts=4 expandtab:
|
||||
|
@ -1,4 +1,11 @@
|
||||
import datetime
|
||||
import json
|
||||
import re
|
||||
|
||||
import falcon
|
||||
import requests
|
||||
|
||||
from .config import SOLR_SERVER
|
||||
|
||||
|
||||
def get_statistics_shards():
|
||||
@ -8,11 +15,6 @@ def get_statistics_shards():
|
||||
Returns:
|
||||
str:A list of Solr statistics shards separated by commas.
|
||||
"""
|
||||
import re
|
||||
|
||||
import requests
|
||||
|
||||
from .config import SOLR_SERVER
|
||||
|
||||
# Initialize an empty list for statistics core years
|
||||
statistics_core_years = []
|
||||
@ -58,7 +60,6 @@ def get_statistics_shards():
|
||||
|
||||
|
||||
def is_valid_date(date):
|
||||
import datetime
|
||||
|
||||
try:
|
||||
# Solr date format is: 2020-01-01T00:00:00Z
|
||||
@ -78,7 +79,6 @@ def validate_items_post_parameters(req, resp, resource, params):
|
||||
|
||||
Meant to be used as a `before` hook.
|
||||
"""
|
||||
import json
|
||||
|
||||
# Only attempt to read the POSTed request if its length is not 0 (or
|
||||
# rather, in the Python sense, if length is not a False-y value).
|
||||
|
Loading…
Reference in New Issue
Block a user