From ac26290f7f5e31373936603d69d1fa14370ccb78 Mon Sep 17 00:00:00 2001 From: Lars Holm Nielsen Date: Tue, 5 Apr 2016 12:47:42 +0200 Subject: [PATCH] serializers: optional jsonref replacement Signed-off-by: Lars Holm Nielsen --- invenio_marc21/serializers/dojson.py | 3 ++- invenio_marc21/serializers/marcxml.py | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/invenio_marc21/serializers/dojson.py b/invenio_marc21/serializers/dojson.py index 678b6d5..82e64b6 100644 --- a/invenio_marc21/serializers/dojson.py +++ b/invenio_marc21/serializers/dojson.py @@ -33,9 +33,10 @@ class DoJSONSerializer(PreprocessorMixin): """Base class for marshmallow serializers.""" - def __init__(self, dojson_model): + def __init__(self, dojson_model, replace_refs=False): """Initialize record.""" self.dojson_model = dojson_model + super(DoJSONSerializer, self).__init__(replace_refs=replace_refs) def dump(self, obj): """Serialize object with schema.""" diff --git a/invenio_marc21/serializers/marcxml.py b/invenio_marc21/serializers/marcxml.py index 991c37a..7147f2e 100644 --- a/invenio_marc21/serializers/marcxml.py +++ b/invenio_marc21/serializers/marcxml.py @@ -39,13 +39,15 @@ class MARCXMLSerializer(DoJSONSerializer): records due to high memory usage. """ - def __init__(self, dojson_model, xslt_filename=None, schema_class=None): + def __init__(self, dojson_model, xslt_filename=None, schema_class=None, + replace_refs=False): """.""" self.dumps_kwargs = dict(xslt_filename=xslt_filename) if \ xslt_filename else {} self.schema_class = schema_class - super(MARCXMLSerializer, self).__init__(dojson_model) + super(MARCXMLSerializer, self).__init__( + dojson_model, replace_refs=replace_refs) def dump(self, obj): """Dump object."""