diff --git a/requirements-swh.txt b/requirements-swh.txt --- a/requirements-swh.txt +++ b/requirements-swh.txt @@ -1,7 +1,7 @@ swh.core >= 0.0.94 swh.indexer >= 0.0.170 -swh.model >= 0.0.64 +swh.model >= 0.3.0 swh.scheduler >= 0.0.72 swh.search >= 0.0.4 swh.storage >= 0.0.182 swh.vault >= 0.0.33 \ No newline at end of file diff --git a/swh/web/api/utils.py b/swh/web/api/utils.py --- a/swh/web/api/utils.py +++ b/swh/web/api/utils.py @@ -228,7 +228,7 @@ } ) - revision["parents"] = parents + revision["parents"] = tuple(parents) if "children" in revision: children = [] diff --git a/swh/web/common/converters.py b/swh/web/common/converters.py --- a/swh/web/common/converters.py +++ b/swh/web/common/converters.py @@ -50,6 +50,8 @@ return map(lambda y: fmap(f, y), (x for x in data)) if isinstance(data, list): return [fmap(f, x) for x in data] + if isinstance(data, tuple): + return tuple(fmap(f, x) for x in data) if isinstance(data, dict): return {k: fmap(f, v) for (k, v) in data.items()} return f(data) diff --git a/swh/web/tests/api/test_utils.py b/swh/web/tests/api/test_utils.py --- a/swh/web/tests/api/test_utils.py +++ b/swh/web/tests/api/test_utils.py @@ -340,7 +340,7 @@ revision_data = archive_data.revision_get(revision) del revision_data["directory"] - revision_data["parents"].append(parent_revision) + revision_data["parents"] = revision_data["parents"] + (parent_revision,) revision_data["children"] = child_revision url = reverse("api-1-revision", url_args={"sha1_git": revision}) @@ -356,7 +356,7 @@ "api-1-revision-log", url_args={"sha1_git": revision}, request=request ) - revision_data["parents"] = [ + revision_data["parents"] = tuple( { "id": p["id"], "url": reverse( @@ -364,7 +364,7 @@ ), } for p in revision_data["parents"] - ] + ) revision_data["children_urls"] = [ reverse( @@ -399,7 +399,7 @@ "api-1-revision-log", url_args={"sha1_git": revision}, request=request ) - revision_data["parents"] = [ + revision_data["parents"] = tuple( { "id": parent_revision, "url": reverse( @@ -408,7 +408,7 @@ request=request, ), } - ] + ) revision_data["children_urls"] = [ reverse( @@ -426,7 +426,7 @@ revision_data = archive_data.revision_get(revision) revision_data["message"] = None - revision_data["parents"].append(parent_revision) + revision_data["parents"] = revision_data["parents"] + (parent_revision,) revision_data["children"] = child_revision url = reverse("api-1-revision", url_args={"sha1_git": revision}) @@ -448,7 +448,7 @@ "api-1-revision-log", url_args={"sha1_git": revision}, request=request ) - revision_data["parents"] = [ + revision_data["parents"] = tuple( { "id": p["id"], "url": reverse( @@ -456,7 +456,7 @@ ), } for p in revision_data["parents"] - ] + ) revision_data["children_urls"] = [ reverse( @@ -475,7 +475,7 @@ revision_data = archive_data.revision_get(revision) revision_data["message"] = None revision_data["message_decoding_failed"] = (True,) - revision_data["parents"].append(parent_revision) + revision_data["parents"] = revision_data["parents"] + (parent_revision,) revision_data["children"] = child_revision url = reverse("api-1-revision", url_args={"sha1_git": revision}) @@ -501,7 +501,7 @@ "api-1-revision-log", url_args={"sha1_git": revision}, request=request ) - revision_data["parents"] = [ + revision_data["parents"] = tuple( { "id": p["id"], "url": reverse( @@ -509,7 +509,7 @@ ), } for p in revision_data["parents"] - ] + ) revision_data["children_urls"] = [ reverse( diff --git a/swh/web/tests/common/test_service.py b/swh/web/tests/common/test_service.py --- a/swh/web/tests/common/test_service.py +++ b/swh/web/tests/common/test_service.py @@ -362,14 +362,14 @@ # A directory that points to unknown content dir = Directory( - entries=[ + entries=( DirectoryEntry( name=bytes(dir_path.encode("utf-8")), type="file", target=hash_to_bytes(unknown_content_["sha1_git"]), perms=DentryPerms.content, - ) - ] + ), + ) ) # Create a revision that points to a directory diff --git a/swh/web/tests/data.py b/swh/web/tests/data.py --- a/swh/web/tests/data.py +++ b/swh/web/tests/data.py @@ -271,7 +271,7 @@ idx_storage = get_indexer_storage("memory", {}) # Add the empty directory to the test archive - storage.directory_add([Directory(entries=[])]) + storage.directory_add([Directory(entries=())]) # Return tests data return {