Changeset View
Changeset View
Standalone View
Standalone View
swh/fuse/tests/data/gen-api-data.py
Show All 11 Lines | |||||
import requests | import requests | ||||
from swh.fuse.tests.data.config import ALL_ENTRIES | from swh.fuse.tests.data.config import ALL_ENTRIES | ||||
from swh.model.identifiers import ( | from swh.model.identifiers import ( | ||||
CONTENT, | CONTENT, | ||||
DIRECTORY, | DIRECTORY, | ||||
RELEASE, | RELEASE, | ||||
REVISION, | REVISION, | ||||
SNAPSHOT, | |||||
SWHID, | SWHID, | ||||
parse_swhid, | parse_swhid, | ||||
) | ) | ||||
API_URL_real = "https://archive.softwareheritage.org/api/1" | API_URL_real = "https://archive.softwareheritage.org/api/1" | ||||
API_URL_test = "https://invalid-test-only.archive.softwareheritage.org/api/1" | API_URL_test = "https://invalid-test-only.archive.softwareheritage.org/api/1" | ||||
SWHID2URL: Dict[str, str] = {} | SWHID2URL: Dict[str, str] = {} | ||||
MOCK_ARCHIVE: Dict[str, Any] = {} | MOCK_ARCHIVE: Dict[str, Any] = {} | ||||
# Temporary map (swhid -> metadata) to ease data generation | # Temporary map (swhid -> metadata) to ease data generation | ||||
METADATA: Dict[SWHID, Any] = {} | METADATA: Dict[SWHID, Any] = {} | ||||
def swhid2url(swhid: SWHID) -> str: | def swhid2url(swhid: SWHID) -> str: | ||||
prefix = { | prefix = { | ||||
CONTENT: "content/sha1_git:", | CONTENT: "content/sha1_git:", | ||||
DIRECTORY: "directory/", | DIRECTORY: "directory/", | ||||
REVISION: "revision/", | REVISION: "revision/", | ||||
RELEASE: "release/", | RELEASE: "release/", | ||||
SNAPSHOT: "snapshot/", | |||||
} | } | ||||
return f"{prefix[swhid.object_type]}{swhid.object_id}/" | return f"{prefix[swhid.object_type]}{swhid.object_id}/" | ||||
def get_short_type(object_type: str) -> str: | def get_short_type(object_type: str) -> str: | ||||
short_type = { | short_type = { | ||||
CONTENT: "cnt", | CONTENT: "cnt", | ||||
DIRECTORY: "dir", | DIRECTORY: "dir", | ||||
REVISION: "rev", | REVISION: "rev", | ||||
RELEASE: "rel", | RELEASE: "rel", | ||||
SNAPSHOT: "snp", | |||||
} | } | ||||
return short_type[object_type] | return short_type[object_type] | ||||
def generate_archive_data( | def generate_archive_data( | ||||
swhid: SWHID, raw: bool = False, recursive: bool = False | swhid: SWHID, raw: bool = False, recursive: bool = False | ||||
) -> None: | ) -> None: | ||||
# Already in mock archive | # Already in mock archive | ||||
Show All 27 Lines | |||||
for entry in ALL_ENTRIES: | for entry in ALL_ENTRIES: | ||||
swhid = parse_swhid(entry) | swhid = parse_swhid(entry) | ||||
generate_archive_data(swhid, recursive=True) | generate_archive_data(swhid, recursive=True) | ||||
print("# GENERATED FILE, DO NOT EDIT.") | print("# GENERATED FILE, DO NOT EDIT.") | ||||
print("# Run './gen-api-data.py > api_data.py' instead.") | print("# Run './gen-api-data.py > api_data.py' instead.") | ||||
print("# flake8: noqa") | print("# flake8: noqa") | ||||
print("from typing import Any, Dict") | |||||
print("") | print("") | ||||
print(f"API_URL = '{API_URL_test}'\n") | print(f"API_URL = '{API_URL_test}'\n") | ||||
print(f"SWHID2URL = {SWHID2URL}\n") | print(f"SWHID2URL: Dict[str, str] = {SWHID2URL}\n") | ||||
print(f"MOCK_ARCHIVE = {MOCK_ARCHIVE}") | print(f"MOCK_ARCHIVE: Dict[str, Any] = {MOCK_ARCHIVE}") |