Skip to content

Commit

Permalink
release: v0.6.12
Browse files Browse the repository at this point in the history
* Fix missing parsing date.
* Fix request resend checksum validation.
* Adds module version in logging formatter.

Co-Authored-by: Lauren-D <laurent.dubois@itld-solutions.be>
  • Loading branch information
lauren-d committed Aug 24, 2021
1 parent 066f9da commit 1f89cef
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 8 deletions.
21 changes: 19 additions & 2 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,46 @@

Changes
=======
Version 0.6.12 (released 2021-08-24)

**Bug fix:**

* Fix missing parsing date.
* Fix request resend checksum validation.

**Minor change:**

* Adds module version in logging formatter.

Version 0.6.11 (released 2021-08-17)

**Bug fix:**

* Forces text encoding on checksum generation

Version 0.6.10 (released 2021-08-09)

**Minor change:**

* Improves server logging.
* Ensures that the sequence number is present in the message if the selfchek
terminal sends it.
* Ensures that the sequence number is present in the message if the selfchek terminal sends it.
* Adds sequence number and checksum in dumped message.
* Adds cached property to extension.

**Bug fix:**

* Fixes circulation date parsing.
* Rewrites error detection for request and response message.

Version 0.6.9 (released 2021-07-28)

**Bug fix:**

* Fixes invenio-search version.
* Fixes invenio-db version.

Version 0.6.8 (released 2021-07-27)

**Minor change:**

* Catches runtime error.
Expand Down
7 changes: 5 additions & 2 deletions invenio_sip2/ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
from .helpers import MessageTypeFixedField, MessageTypeVariableField
from .models import SupportedMessages
from .utils import convert_bool_to_char
from .version import __version__

logger = logging.getLogger('invenio-sip2')

Expand Down Expand Up @@ -131,8 +132,10 @@ def _add_logger_handler(self, handler, level):
@classmethod
def get_logging_formatter(cls):
"""Return logging formatter."""
return logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s')
log_format = \
'%(asctime)s - %(name)s ({version}) - %(levelname)s - %(message)s'\
.format(version=__version__)
return logging.Formatter(log_format)

@cached_property
def sip2(self):
Expand Down
2 changes: 2 additions & 0 deletions invenio_sip2/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,8 @@ def validate_message(self, request_msg):
))
return True
if self.request.checksum:
if self.request.command == '97':
return True
return verify_sequence_number(self.client, self.request) and \
verify_checksum(request_msg)
else:
Expand Down
6 changes: 3 additions & 3 deletions invenio_sip2/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ def parse_circulation_date(date):
if date.tzinfo is None:
date = date.replace(tzinfo=pytz.utc)
return date.strftime(date_format)
return date_string_to_utc(date)
return date_string_to_utc(date).strftime(date_format)
except Exception:
logger.warning(f'parse circulation date error for: [{date}]')
logger.error(f'parse circulation date error for: [{date}]')
return date or ''


Expand Down Expand Up @@ -139,7 +139,7 @@ def verify_checksum(message_str):

# check minimum length of message
# It should be 8 for request ACS resend and 11 for all other messaged
minimum_len = 8 if message_str[2:] == '97' else 11
minimum_len = 8 if message_str[:2] == '97' else 11
if len(message_str) >= minimum_len:
# sum all the byte values of each character in the message including
# the checksum identifier
Expand Down
2 changes: 1 addition & 1 deletion invenio_sip2/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,4 @@

from __future__ import absolute_import, print_function

__version__ = '0.6.11'
__version__ = '0.6.12'

0 comments on commit 1f89cef

Please sign in to comment.