From c3d9439872ba4980ec235d8a49beb7c09b451352 Mon Sep 17 00:00:00 2001
From: "Antoine R. Dumont (@ardumont)" <antoine.romain.dumont@gmail.com>
Date: Thu, 24 Mar 2016 10:36:21 +0100
Subject: [PATCH] 'metadata' entry is expected to be json serializable

so no bytes, and we enforce during the checksum computation function
---
 swh/model/identifiers.py            | 5 ++++-
 swh/model/tests/test_identifiers.py | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/swh/model/identifiers.py b/swh/model/identifiers.py
index 7671ce3b..61b838ab 100644
--- a/swh/model/identifiers.py
+++ b/swh/model/identifiers.py
@@ -266,7 +266,10 @@ def revision_identifier(revision):
 
     metadata = revision.get('metadata', {})
     if 'gpgsig' in metadata:
-        components.extend([b'gpgsig', b' ', metadata['gpgsig'], b'\n'])
+        gpgsig = metadata['gpgsig']
+        if isinstance(gpgsig, str):
+            gpgsig = gpgsig.encode('utf-8')
+        components.extend([b'gpgsig', b' ', gpgsig, b'\n'])
 
     if 'extra_headers' in metadata:
         headers = metadata['extra_headers']
diff --git a/swh/model/tests/test_identifiers.py b/swh/model/tests/test_identifiers.py
index c1e6201a..c8a66f90 100644
--- a/swh/model/tests/test_identifiers.py
+++ b/swh/model/tests/test_identifiers.py
@@ -318,7 +318,7 @@ class RevisionIdentifier(unittest.TestCase):
                 'offset': 480,
             },
             'metadata': {
-                'gpgsig': b'''-----BEGIN PGP SIGNATURE-----
+                'gpgsig': '''-----BEGIN PGP SIGNATURE-----
  Version: GnuPG v1.4.13 (Darwin)\n \n iQIcBAABAgAGBQJVJcYsAAoJEBiY3kIkQRNJVAUQAJ8/XQIfMqqC5oYeEFfHOPYZ
  L7qy46bXHVBa9Qd8zAJ2Dou3IbI2ZoF6/Et89K/UggOycMlt5FKV/9toWyuZv4Po
  L682wonoxX99qvVTHo6+wtnmYO7+G0f82h+qHMErxjP+I6gzRNBvRr+SfY7VlGdK
-- 
GitLab