Other
* Wiley seems to be finicky about capitalization of at least the ID attibrute here... following SUSHIStarters' practice and sending with capitals. [Geoffrey Spear]
* Merge pull request 38 from withnale/provide_exceptions. [Geoffrey Spear]
Provide context when sushi exception is generated
* Provide context when sushi exception is generated. [Paul Rhodes]
* Merge pull request 40 from withnale/report_type_support. [Geoffrey Spear]
Added definitions to JR2,JR3,BR3 counter types
* Added definitions to JR2,JR3,BR3 counter types. [Paul Rhodes]
* Merge pull request 39 from withnale/avoid_none_column_errors. [Geoffrey Spear]
Ensure that the encode method doesn't fail if the cell value is None
* Ensure encode does not fail when cell value is None. [Paul Rhodes]
* Update RTD link for their new domain. [Geoffrey Spear]
* BR2: get section type from the report, instead of hardcoding "Chapter" on output... [Geoffrey Spear]
* Merge pull request 33 from chill17/dbsushicodequality. [Geoffrey Spear]
DB Sushi Code Quality
* Removed assertIn in tests for 2.6 compatability. [Ed Hill]
* Change sushi.py to work with DB_METRIC_MAP and configured tests for new output. [Ed Hill]
* Use DB_METRIC_MAP to map metric names from SUSHI to be consistent with the API. [Ed Hill]
* Make ensure_required_metrics work with METRICS and move sort out of method. [Ed Hill]
* Removed hardcoded DB metrics from report.py. [Ed Hill]
* Moved DB1 and DB2 metrics and mapping to constants.py. [Ed Hill]
* Document write_to_file and don't redefine format() builtin accidentally... [Geoffrey Spear]
* Flake8: missing whitespace. [Geoffrey Spear]
* Bump version, eliminate pylint unused variables complaints, prepare for more export formats. [Geoffrey Spear]
* Add module docstrings to the test suite. [Geoffrey Spear]
* Merge pull request 31 from chill17/addingdbtosushi. [Geoffrey Spear]
Add DB1 and DB2 report processing to SUSHI
* Replace set comprehension with generator expression for Py2.6. [Ed Hill]
* Fixed pyflakes formatting issues. [Ed Hill]
* Variable names more explicit and set() call removed from loop. [Ed Hill]
* Added tests and data files for DB reports through SUSHI. [Ed Hill]
TestConvertRawDatabase tests that all information is
correct and in the correct order for a DB report.
Utilizes sushi_simple_db1.xml which is in part based
on formatting from ProQuest SUSHI reports
TestRawDatabaseWithMissingData tests that, on output,
SUSHI data is correct and full even if zero-value fields
were not sent. January is missing data and there are no
records for 'record_view' in the data source. Utilizes
sushi_db1_missing_record_view.xml which is in part based
on formatting from EBSCO SUSHI reports.
* Add method to CounterReport to insert missing metrics. [Ed Hill]
SUSHI protocol does not guarantee fields with zero use
are in a report. If a field has no use for a given
period, it might not show up in the report at all.
If a report is a datbase report, check each database
to ensure it has all metrics and insert them with a 0
for the first month of the reporting period. After all
metrics have been established, sort them so they write
to file in the correct order (sort order will be
maintained after the subsequent title sort)
* Add method to CounterEresource to fill empty months. [Ed Hill]
SUSHI protocol does not require transmission of
fields with zero use. Ensures months with no data
are inserted with a 0, then sorted. Calls from
CounterDatabase.as_generic to accurately write as a
COUNTER compliant report.
* Convert SUSHI metric codes to COUNTER metric names. [Ed Hill]
Provide a mapping from SUSHI codes to COUNTER names
for DB reports. If parsing a pre-formatted COUNTER
report, it will fall back to whatever is already in
the report.
* Added support for DB reports to be collected through SUSHI. [Ed Hill]
DB reports are different because they have multiple metrics
on multiple lines, and SUSHI protocol provides limited
guarantees on how they will be formatted. Catch month values
in a dict with metrics as keys, then send each as a
CounterDatabase object
* Fix documentation a bit. [Geoffrey Spear]
* Giving up on pypy3 ever working (they're still using python 3.2, which we don't support anyway); removing expected failures since 3.6 is working now. [Geoffrey Spear]