Page MenuHomeSoftware Heritage

D3092.id11004.diff
No OneTemporary

D3092.id11004.diff

diff --git a/swh/web/browse/snapshot_context.py b/swh/web/browse/snapshot_context.py
--- a/swh/web/browse/snapshot_context.py
+++ b/swh/web/browse/snapshot_context.py
@@ -20,6 +20,7 @@
persistent_identifier,
snapshot_identifier,
CONTENT,
+ DIRECTORY,
)
from swh.web.browse.utils import (
@@ -47,6 +48,7 @@
SnapshotReleaseInfo,
SnapshotContext,
ContentMetadata,
+ DirectoryMetadata,
)
from swh.web.common.utils import (
reverse,
@@ -748,44 +750,50 @@
except NotFoundExc:
revision_found = False
- dir_metadata = {
- "directory": sha1_git,
- "context-independent directory": browse_dir_link,
- "number of regular files": nb_files,
- "number of subdirectories": nb_dirs,
- "sum of regular file sizes": sum_file_sizes,
- "path": dir_path,
- "revision": revision_id,
- "revision_found": revision_found,
- "context-independent revision": browse_rev_link,
- "snapshot": snapshot_id,
- "context-independent snapshot": browse_snp_link,
- }
-
- if origin_info:
- dir_metadata["origin url"] = origin_info["url"]
- dir_metadata["origin visit date"] = format_utc_iso_date(visit_info["date"])
- dir_metadata["origin visit type"] = visit_info["type"]
-
- vault_cooking = {
- "directory_context": True,
- "directory_id": sha1_git,
- "revision_context": True,
- "revision_id": revision_id,
- }
-
swh_objects = [
{"type": "directory", "id": sha1_git},
{"type": "revision", "id": revision_id},
{"type": "snapshot", "id": snapshot_id},
]
+ visit_date = None
+ visit_type = None
+ if visit_info:
+ visit_date = format_utc_iso_date(visit_info["date"])
+ visit_type = visit_info["type"]
+
release_id = snapshot_context["release_id"]
+ browse_rel_link = None
if release_id:
swh_objects.append({"type": "release", "id": release_id})
browse_rel_link = gen_release_link(release_id)
- dir_metadata["release"] = release_id
- dir_metadata["context-independent release"] = browse_rel_link
+
+ dir_metadata = DirectoryMetadata(
+ object_type=DIRECTORY,
+ directory=sha1_git,
+ directory_url=browse_dir_link,
+ nb_files=nb_files,
+ nb_dirs=nb_dirs,
+ sum_file_sizes=sum_file_sizes,
+ path=dir_path,
+ revision=revision_id,
+ revision_found=revision_found,
+ revision_url=browse_rev_link,
+ release=release_id,
+ release_url=browse_rel_link,
+ snapshot=snapshot_id,
+ snapshot_url=browse_snp_link,
+ origin_url=origin_url,
+ visit_date=visit_date,
+ visit_type=visit_type,
+ )
+
+ vault_cooking = {
+ "directory_context": True,
+ "directory_id": sha1_git,
+ "revision_context": True,
+ "revision_id": revision_id,
+ }
swh_ids = get_swh_persistent_ids(swh_objects, snapshot_context)
diff --git a/swh/web/browse/views/directory.py b/swh/web/browse/views/directory.py
--- a/swh/web/browse/views/directory.py
+++ b/swh/web/browse/views/directory.py
@@ -11,6 +11,7 @@
import sentry_sdk
+from swh.model.identifiers import DIRECTORY
from swh.web.browse.browseurls import browse_route
from swh.web.browse.snapshot_context import get_snapshot_context
from swh.web.browse.utils import (
@@ -21,6 +22,7 @@
)
from swh.web.common import service
from swh.web.common.exc import handle_view_exception, NotFoundExc
+from swh.web.common.typing import DirectoryMetadata
from swh.web.common.utils import reverse, gen_path_info
@@ -126,12 +128,18 @@
sum_file_sizes = filesizeformat(sum_file_sizes)
- dir_metadata = {
- "directory": sha1_git,
- "number of regular files": len(files),
- "number of subdirectories": len(dirs),
- "sum of regular file sizes": sum_file_sizes,
- }
+ dir_metadata = DirectoryMetadata(
+ object_type=DIRECTORY,
+ directory=sha1_git,
+ nb_files=len(files),
+ nb_dirs=len(dirs),
+ sum_file_sizes=sum_file_sizes,
+ path=path or None,
+ revision=None,
+ revision_found=None,
+ release=None,
+ snapshot=None,
+ )
vault_cooking = {
"directory_context": True,
diff --git a/swh/web/common/typing.py b/swh/web/common/typing.py
--- a/swh/web/common/typing.py
+++ b/swh/web/common/typing.py
@@ -140,3 +140,15 @@
revision: Optional[str]
release: Optional[str]
snapshot: Optional[str]
+
+
+class DirectoryMetadata(SWHObjectMetadata):
+ directory: str
+ nb_files: int
+ nb_dirs: int
+ sum_file_sizes: str
+ path: str
+ revision: Optional[str]
+ revision_found: Optional[bool]
+ release: Optional[str]
+ snapshot: Optional[str]

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 23, 1:27 AM (1 w, 3 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3218313

Event Timeline