diff planemo/lib/python3.7/site-packages/prov/serializers/provn.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo/lib/python3.7/site-packages/prov/serializers/provn.py	Fri Jul 31 00:32:28 2020 -0400
@@ -0,0 +1,31 @@
+from __future__ import (absolute_import, division, print_function,
+                        unicode_literals)
+
+__author__ = 'Trung Dong Huynh'
+__email__ = 'trungdong@donggiang.com'
+
+import io
+import logging
+logger = logging.getLogger(__name__)
+
+from prov.serializers import Serializer
+
+
+class ProvNSerializer(Serializer):
+    """PROV-N serializer for ProvDocument
+
+    """
+    def serialize(self, stream, **kwargs):
+        """
+        Serializes a :class:`prov.model.ProvDocument` instance to a
+        `PROV-N <http://www.w3.org/TR/prov-n/>`_.
+
+        :param stream: Where to save the output.
+        """
+        provn_content = self.document.get_provn()
+        if isinstance(stream, io.BytesIO):
+            provn_content = provn_content.encode('utf-8')
+        stream.write(provn_content)
+
+    def deserialize(self, stream, **kwargs):
+        raise NotImplementedError